接收门限中断与接收超时中断 以如下配置为例:
RXThreshold = 3; RXThresholdIEn = 1; TimeoutTime = 10; TimeoutIEn = 1;
SWM181、SWM260、SWM320 对方发送8个数据的情况
每接收到一个数据,RX FIFO中数据个数加一,当RX FIFO中数据个数大于RXThreshold时,触发接收中断。 对方发送9个数据的情况
只有当接收FIFO中有数据,且在指定时间内未接收到新的数据时,才会触发超时中断。
若应用中希望通过数据间时间间隔作为帧间隔依据,即不管对方发送过来多少个数据,最后都能产生超时中断,可以通过在接收ISR中从RX FIFO中读取数据时总是少读一个(即让一个数据留在RX FIFO中)来实现。 SWM190、SWM211、SWM341 UARTx->TOCR.MODE = 0 与SWM181、SWM260、SWM320情况完全相同 UARTx->TOCR.MODE = 1
不管对方发送几个数据,最后 不管对方发送几个数据, 最后都能触发超时中断 以如下配置为例:
TXThreshold = 4; TXThresholdIEn = 1;
每发送出一个数据,TX FIFO中数据个数减一,当TX FIFO中数据个数小于等于TXThreshold时,触发发送中断。
初始化时不能开启发送中断,只能在发送FIFO填入数据后再开启发送中断;否则开启发送中断后会立即触发发送中断
|