avatar
C#到底有多慢# EE - 电子工程
b*i
1
最近组里的小本做了个软件模拟器,用来模拟一个产品。这个产品很简单,
首先,通讯系统中要用一个控制器以1200波特率控制发控制信号,大约4个字符,等个10-100毫秒,然后这个产品返回也是这个速率,11个字符,不过都是9比特。完后控制器再等个50毫秒,发下一个控制信号。
本来产品和控制器之间就是RS232,控制器和计算机之间也是RS232,控制器上有芯片,两个串口,计算机上运行控制器的软件,通过控制器间接和产品通讯。
如果用软件来模拟这个产品,不就省钱了吗。这个模拟器有硬件,靠计算机的软件来直接控制,假装是个产品,跟控制器通讯。控制器是另一种产品,不算在这个里面。这样,计算机如果用了控制台软件,和控制器通讯,控制器的信号到了模拟器硬件,再转换到计算机的另一个串口,被模拟器软件截获,然后发返回信号,通过模拟器硬件,再到控制器,再到计算机的控制台软件,形成了通讯的回路。
机器是1.2G CPU, 512M内存,XP,用C#写了程序,注意的是,其中的9位异步传输用的是
软件控制校验位来实现的。结果,控制控制器的软件和模拟器的软件运行在同一个机器
上,用了USB hub,到两个USB-RS232
avatar
g*u
2
别的我不太清楚,不过写embedded为什么要用C#?
avatar
b*i
3
产品是embedded,但是贵呀,2~3万一个。
系统中需要20个这样的产品,那用来作系统的模拟,练习等,用计算机不是便宜吗,就
用C#,计算机,Windows XP,等来控制一个成本极低的小破硬件来模拟产品而已。
比如,这个模拟的系统可以用来测试控制台的软件。现在,我们先把这个模拟器开发好
,就可以开发新的控制台软件了。

【在 g******u 的大作中提到】
: 别的我不太清楚,不过写embedded为什么要用C#?
avatar
g*u
4
你们做什么产品这么贵,把所有封装拿掉只测试PCB不行么?要是板子太复杂那模拟硬
件也不太合适罢。

【在 b***i 的大作中提到】
: 产品是embedded,但是贵呀,2~3万一个。
: 系统中需要20个这样的产品,那用来作系统的模拟,练习等,用计算机不是便宜吗,就
: 用C#,计算机,Windows XP,等来控制一个成本极低的小破硬件来模拟产品而已。
: 比如,这个模拟的系统可以用来测试控制台的软件。现在,我们先把这个模拟器开发好
: ,就可以开发新的控制台软件了。

avatar
D*a
5
c#没这么慢。应该是跟硬件的借口和定时器用得有问题。

个10-100毫秒,然后这个产品返回也是这个速率,11个字符,不过都是9比特。完后控
制器再等个50毫秒,发下一个控制信号。
,两个串口,计算机上运行控制器的软件,通过控制器间接和产品通讯。
直接控制,假装是个产品,跟控制器通讯。控制器是另一种产品,不算在这个里面。这
样,计算机如果用了控制台软件,和控制器通讯,控制器的信号到了模拟器硬件,再转
换到计算机的另一个串口,

【在 b***i 的大作中提到】
: 最近组里的小本做了个软件模拟器,用来模拟一个产品。这个产品很简单,
: 首先,通讯系统中要用一个控制器以1200波特率控制发控制信号,大约4个字符,等个10-100毫秒,然后这个产品返回也是这个速率,11个字符,不过都是9比特。完后控制器再等个50毫秒,发下一个控制信号。
: 本来产品和控制器之间就是RS232,控制器和计算机之间也是RS232,控制器上有芯片,两个串口,计算机上运行控制器的软件,通过控制器间接和产品通讯。
: 如果用软件来模拟这个产品,不就省钱了吗。这个模拟器有硬件,靠计算机的软件来直接控制,假装是个产品,跟控制器通讯。控制器是另一种产品,不算在这个里面。这样,计算机如果用了控制台软件,和控制器通讯,控制器的信号到了模拟器硬件,再转换到计算机的另一个串口,被模拟器软件截获,然后发返回信号,通过模拟器硬件,再到控制器,再到计算机的控制台软件,形成了通讯的回路。
: 机器是1.2G CPU, 512M内存,XP,用C#写了程序,注意的是,其中的9位异步传输用的是
: 软件控制校验位来实现的。结果,控制控制器的软件和模拟器的软件运行在同一个机器
: 上,用了USB hub,到两个USB-RS232

avatar
b*i
6
产品贵,是因为运行在恶劣环境。当然,测试系统软件的时候,不用真的产品,就用模
拟器就行了。这不,小本做了基于计算机的模拟器。

【在 g******u 的大作中提到】
: 你们做什么产品这么贵,把所有封装拿掉只测试PCB不行么?要是板子太复杂那模拟硬
: 件也不太合适罢。

avatar
a*l
7
肯定是小本的程序有问题.windows下50-100ms的控制应该是没有问题的.我看十之八九是小本用了polling或spin lock或者类似的东西.

个10-100毫秒,然后这个产品返回也是这个速率,11个字符,不过都是9比特。完后控
制器再等个50毫秒,发下一个控制信号。
,两个串口,计算机上运行控制器的软件,通过控制器间接和产品通讯。
直接控制,假装是个产品,跟控制器通讯。控制器是另一种产品,不算在这个里面。这
样,计算机如果用了控制台软件,和控制器通讯,控制器的信号到了模拟器硬件,再转
换到计算机的另一个串口,被模拟器软件截获,然后发返回信号,通过模拟器硬件,再
到控制器,再到计算机的控制台软件,形成了通讯的回路。

【在 b***i 的大作中提到】
: 最近组里的小本做了个软件模拟器,用来模拟一个产品。这个产品很简单,
: 首先,通讯系统中要用一个控制器以1200波特率控制发控制信号,大约4个字符,等个10-100毫秒,然后这个产品返回也是这个速率,11个字符,不过都是9比特。完后控制器再等个50毫秒,发下一个控制信号。
: 本来产品和控制器之间就是RS232,控制器和计算机之间也是RS232,控制器上有芯片,两个串口,计算机上运行控制器的软件,通过控制器间接和产品通讯。
: 如果用软件来模拟这个产品,不就省钱了吗。这个模拟器有硬件,靠计算机的软件来直接控制,假装是个产品,跟控制器通讯。控制器是另一种产品,不算在这个里面。这样,计算机如果用了控制台软件,和控制器通讯,控制器的信号到了模拟器硬件,再转换到计算机的另一个串口,被模拟器软件截获,然后发返回信号,通过模拟器硬件,再到控制器,再到计算机的控制台软件,形成了通讯的回路。
: 机器是1.2G CPU, 512M内存,XP,用C#写了程序,注意的是,其中的9位异步传输用的是
: 软件控制校验位来实现的。结果,控制控制器的软件和模拟器的软件运行在同一个机器
: 上,用了USB hub,到两个USB-RS232

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。