1、使用msp430f5438;
2、系统MCLK=16MHZ,SMCLK=1MHZ
3、串口波特率9600,8N1;
4、用调试助手向单片机发送一个数据包(24字节)用于读取当前单片机检测数据,返回来的数据包长39字节,PC机和单片机之间用的无线方式(那种常见的无线串口收发模块),发送查询命令间隔居然需要260ms,低于250ms返回来的数据就会出现乱码。如下图
5、采用的自定义协议,从机收到一包完整的数据再进行解析,然后获取相应的数据,计算校验值,最后发送。
个人认为,数据处理中没有复杂计算,整个流程也没有多余的延时,不知道问题出在哪里,根据计算,一个发收周期在120ms左右(考虑了处理程序的运行时间)。而现在耗时确是理论计算的2倍左右。
能想到的办法:
1、操作系统
这一方法,和同学讨论后,放弃了。一则对操作系统不是很熟悉,会增加开发周期;二则认为上操作系统会额外增加消耗,可能出现其他意想不到的问题。
2、软件FIFO
在其他论坛看到有人测试过使用FIFO发送数据会节省很多时间,正在验证中。。。
3、提高波特率
此方法效果不是很明显,速度提升不高。而且波特率过高,传输距离又会降低。
综合以上,我想请问还有其他限制速度的原因么?或者还有其他什么方法提高速度?又或者哪些方面没有考虑到?