485挂有几百个节点,通过485集线器连接到PC.因为节点的信息都要求比较实时,所以主机PC需要连续不断的以尽量快的波特率及速度轮询.而主机询问任何一个节点都会引起所有节点的串口中断,所以相当于每个节点都时时刻刻的不断被中断,降低节点的系统效率(节点需要频繁的处理串口中断,不管询问的是不是自己).因主机的询问必须得到节点的应答,这样须使串口中断拥有较高的优先级,频繁的高优先级的串口中断可能还会影响MCU处理其它一些需要精确定时的事情(解码).
如何解决轮询的实时性与尽量减少对节点MCU的中断这两者之间的矛盾?
51的串口方式3因区分地址和数据可以减小上述矛盾,但不清楚PC串口能否处理9位方式.最多也只能寻256个节点.
请有经验者指点一二 |