newmilk 发表于 2016-10-3 19:29:06

如何在外部中断时,串口收到的数据包不丢失

本帖最后由 newmilk 于 2016-10-3 22:07 编辑

环境:uno,processing案例:
1.processing每1秒serial循环发送1个字节的字母[A~Z],模拟数据包
2.
void loop()
{
    while (Serial.available())
    {
      Serial.readBytes(mBufferIn, Serial.available());
      //模拟收到数据包,压入环形缓冲
      //取出整包,解析,调用函数
      //检查时间事件触发break
    }
    //处理事件
}
3.attachInterrupt触发中断
4.收到中断10秒后恢复,Serial缓冲内读取出的数据只有中断前和中断恢复后的数据包
举例:
1)中断前print B
2)中断...
3)中断恢复后print C,D,O,P,Q...(C和D应该是中断函数被触发前已经写入serial缓冲还没被read的数据,OPQ...是恢复后写入)
求助:
怎么才能在中断时,保留D和O中间缺失的数据

dsweiliang 发表于 2016-10-4 08:15:02

等大神帮你
页: [1]
查看完整版本: 如何在外部中断时,串口收到的数据包不丢失