我的基本任务是从文件中读取一些命令,在读取这些命令之后,我必须使用串行模块将这些命令串行地发送到串行端口..我为这个项目创建了许多API..包括从文件中读取,将我从文件中读取的数据转换成int格式,使其发送到串行端口,然后通过UART接收响应,UART的编程方式是,它对接收到的每个命令都给出一个特定的响应。我可以发送和接收大多数命令,但对响应中的一个命令因此,当我使用这个命令运行我的项目时,我不能正确地接收数据(我得到了不稳定的数据),但是当我制作一个程序来单独发送这个命令时(没有其他API),i、 我只用send函数来发送命令,用receive函数来得到响应。然后我就可以得到正确的响应。我测试了很多次,但直到现在我还不能调试它。如果有人能帮我,那将是一个很大的帮助。。你知道吗
我完整代码的链接如下 https://github.com/AkshatPant06/Akshat-Pant/blob/master/fileAPI.py
我只发送一条命令并得到正确响应的代码链接如下: https://github.com/AkshatPant06/Akshat-Pant/blob/master/working%20file%20for%20a%20single%20cmd
我试图更改时间延迟和超时值,但在整个程序中不起作用
我希望你能得到完整的资料,你也可以浏览一下这些文件,看看我想要的实际订单和我得到的是什么 https://github.com/AkshatPant06/Akshat-Pant/blob/master/README.md
精简版阅读器和扩展版阅读器之间的唯一区别在于,在后者中,您向另一端的设备发送两次命令:
你的阅读代码是最好的,因为你可以得到它在两个版本的读者。没有理由一个工作正常而另一个失败。你知道吗
如果无法解决删除重复写入的问题,则可能需要:
-增加RX缓冲区的大小(仅适用于Windows),请参见here,您可以使用
ser.set_buffer_size(rx_size = size_bigger_than_4_Kb)
和/或使用Windows控制面板。我从未尝试过这种方法,但对于已知的一次性非连续交换,这可能会有所帮助。你知道吗-尝试使用不同的编程语言。在别的地方你说你用不同的软件运行这个。Python非常好,效率也很高,但它可能不是您所要做的最好的。你知道吗
—用Python或任何其他语言实现某种流控制、硬件或软件。缺点是您需要在链接的两侧支持和实现流控制。如果您想完全确保数据流畅地流动,那么流控制就是一种方法。你知道吗
-降低波特率
相关问题 更多 >
编程相关推荐