想使用SCI空闲模式实现多机通讯,初始设置 SciaRegs.SCICTL1.all =0x006D; SciaRegs.SCICTL2.bit.RXBKINTENA = 1;程序运行后不管接收到什么数据接收中断都会发生,SLEEP位一直是1,是什么原因呢?而本机地址又如何设置?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
想使用SCI空闲模式实现多机通讯,初始设置 SciaRegs.SCICTL1.all =0x006D; SciaRegs.SCICTL2.bit.RXBKINTENA = 1;程序运行后不管接收到什么数据接收中断都会发生,SLEEP位一直是1,是什么原因呢?而本机地址又如何设置?
对于空闲线模式我是这样理解的:1-检测到总线空闲时长(大于10*1/波特率),2-接收到第一个字符与本机的地址比较,3-地址相同允许中断,继续接收其他数据,4-地址不同,中断不能发生,一直到检测到下一个空闲时间。
这种工作模式对于设备在总线上工作很有用。以前都是用定时器处理,串口多的时候定时器数量就要增加。如果有这个功能就会很方便。美中不足的是间隔时间不能随意设定。