请问一下 如果想写一个功能是
收到资料后 会回传一个20 Bytes的封包的功能 会推荐怎样写
目前在写的时候碰到了瓶颈
使用rx中断的方式来接收资料 想先写个测试结果发生问题
想说收到一笔资料后 如果首位判定是0xAA 就抓资料 进行回传(中断内执行)
封包长度固定是20Bytes
void __attribute__((interrupt, shadow, no_auto_psv)) _U2RXInterrupt()
{
int tmp=0;
IFS1bits.U2RXIF = 0;
while(!U2STAbits.TRMT);
if( U2STAbits.OERR ) // if overrun, clear OERR flag
U2STAbits.OERR = 0;
tmp = U2RXREG;
U2TXREG = 49;
}
如果我在电脑端送任意一个值
这样我在电脑端看到的东西会是1(ascii)
基本上问一答一都没问题
但是如果改成
U2TXREG = 49;
U2TXREG = 50;
前面一次传 1~4都没问题 依序收到12 1212 121212 12121212
当我输入到第5个值的时候 开始出现问题(回传没有出现 会漏)
U2TXREG = 49;
U2TXREG = 50;
U2TXREG = 51;
变成传1~3没问题 123 123123 123123 传4就出问题了
想请问该怎样解决这个问题