恭喜,你发布的帖子
发布于 2017-08-07 12:48:28
4楼
感谢两位的回复,我之前也是用上一个指令的完成位done来启动下一个指令的使能,但是这样会造成6号报错,就是从站忙,还是因为从站要求两条指令中间要有2ms的间隔,不给它间隔,它就报错,所以现在我还是用定时器加计数器组成的一个循环时间表进行指令轮询,给每个指令以足够的时间,这样做就是程序比较简单,一般情况下是不会有问题的。另外提高通讯波特率 也可以缩短指令读写时间,之前是9600,读一条连续6个寄存器的信息至少要60ms,实际我给它70-100ms就没问题了。现在我把波特率提到38400,同样的那条指令,我只给它40ms就能正常工作了,我估计30也没问题,而对于只读写一个寄存器的指令,时间可以更短些。这样的话,我如果接10个从站,那么总的轮循时间可以控制在1秒之内,
请填写推广理由:
分享
只看
楼主