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