目前项目在使用CC1310的串口接收时,发现在接收过程中,在本次接收完成进入callback函数后,如果在下次串口数据到再来前,没有调用到UART_read函数,则后续在进行UART_read后,收到的数据相对于给UART_read函数的Rx Buffer参数的位置已经偏移了32Byte,而且一直如此,无法再恢复过来。
1. 目前串口使用的callback模式,每次固定接收64字节;
2. 看UART_read函数介绍,是不能在它的callback函数内调用的,所以在本次接收完成后,需要轮询到主流程中才能再次调用UART_read进行接收,如果其他流程耗时较久,而串口数据又来得快,就很容易发生这种问题。
针对CC1310的串口问题,想咨询一下,
1. 有没有其他好的调用接口,可以接收不定长度的数据,目前使用call back模式只能每次接收固定长度,这是十分不方便;
2. 在callback模式中,如果本次接收完成进入callback函数后,不再调用UART_read函数,对于到来的串口数据CC1310是怎么处理的。
3. 串口接收数据错位的问题跟定义的ringbuffer有关吗,这个ringbuffer是在哪里使用,怎么使用。
如上,感谢!