我创建了两个线程:
一个线程负责采集数据, 没有延时, 一直占用cpu
另一个是modbus收发线程, 串口创建了接收中断
设想的是: 采集线程不断采集数据, 当串口接收到数据时, 串口中断发送信号, modbus线程从采集线程哪里抢来cpu, 然后处理数据发送回去, 然后挂起线程等待信号.
串口初始化在modbus线程里做的, 调用的是rtt的函数, modbus线程优先级比采集线程高.
现在的问题是, 只要采集线程一启动, 串口接收中断就不会触发.
我想了解下这里的机制, 是不是线程切换时也把中断停掉了, 还是有什么其他原因.
更多回帖