我在 Parallax BASIC Stamp 板上有一个应用程序,它读取文本命令并根据命令执行测试用例。一个通过 SPI 总线发送数据并从 SPI 总线读取数据的测试用例失败,具体取决于 DEBUGIN 文本的突发速率。
Stamp Board 通过 19200 波特的串行端口连接到 PC(四核 2+ GHZ)。
当我使用 BASIC Stamp Terminal 或 Hyper Terminal 向 Stamp Board 发送命令时,测试通过。当我通过 C# 应用程序发送相同的命令时,测试失败。主要区别在于将文本发送到 Stamp Board 的突发速率。
人类发送文本的速度比计算机(应用程序)慢。使用超级终端时,以 19200 波特率发送一个字符。应用程序以 19200 波特率发送 8 个字符,字符之间没有停顿。
我正在寻找 DEBUGIN 语句(通过串行端口输入)如何影响 SHIFTIN 或 SHIFTOUT 命令的解释,或者是否有人知道如何解决此问题。
不幸的是,DEBUGIN 命令的波特率无法更改。另一种方法是使用串行端口命令以较慢的速度使用自定义版本(包括将文本转换为数字)(这会使用额外的宝贵空间,这在我的项目中很少)。
如果发布到 StackEchange 是错误的论坛,请迁移并发布迁移的原因。