我有一个Parallax BASIC Stamp板上的应用程序,它读取文本命令并根据命令执行测试用例。一个测试用例通过SPI总线发送数据并从SPI总线读取失败,这取决于DEBUGIN文本的突发速率。DEBUGIN在BASIC Stamp上影响SPI的突发速度
印章板通过19200波特的串行端口连接到PC(四核+2GHZ)。
当我使用BASIC Stamp Terminal或超级终端向邮票板发送命令时,测试通过。当我通过C#应用程序发送相同的命令时,测试失败。主要区别在于文本发送到邮票板的爆率。
人类发送文本比计算机(应用程序)慢。当使用超级终端时,一个字符以19200波特发送。该应用程序以19200波特发送8个字符,字符之间没有间隔。
我正在寻找解释如何DEBUGIN语句(通过串行端口输入)影响SHIFTIN或SHIFTOUT命令,或者如果有人知道如何解决此问题。
不幸的是,DEBUGIN命令的波特率不能改变。另一种方法是使用串行端口命令以较慢的速度(使用额外的宝贵空间,这对我的项目几乎没有任何影响)具有自定义版本(包括将文本转换为数字)。
如果发布到StackEchange是错误的论坛,请迁移并发布它被迁移的原因。
不幸的是,低级代码是Parallax BASIC解释器的一部分,所以我无法控制驱动程序(也无法访问)。在发送字符(来自PC)后,我已经尝试了1秒的延迟而没有任何影响。下一个解决方法是让印章板只从SPI总线上读取并向PC回报。 – 2011-02-24 21:30:16