项目开发过程中遇到的问题和解决方法

在开发程序的过程中遇到了不少问题,在这里记录一下。 Q:Modbus的收发、flash的读写都OK了,用上位机调试,发现写入的数据一直都是一个常数。 A:用逻辑分析仪读上位机发的报文,发现上位机发的Modbus报文不完全符合Modbus协议的规范,须根据上位机报文格式进行响应修改。例:Modbus写单个寄存器,用06指令,指令格式为: 1B station_id,1B cmd,2B address,2B data,2B CRC 而上位机将写单个寄存器与写多个寄存器的指令合并为10指令,格式为 1B station_id,1B cmd,2B address,2B register number,2B data number,4B data,2B CRC 导致每次我实际写单个寄存器时,取到的data总是在上位机发的报文中的register number区,而这大部分都是01,所以读到的值一直是01。 Q:经验 A:1、在code的时候,多写一些test case放在代码里,当上位机调试不成功时,可以用test case去验证单个逻辑的可行性; 2、可以在程序的开头或关键处加print(“hello world”),用于做标记。

经验分享 程序员 微信小程序 职场和发展