工具与软件:
我有一个基于 rfUARTbridge 示例的小型应用。 我一直在努力处理当更大的数据块需要时出现的错误
以多个 I/O 格式进行接收和转发
我基本上是在尝试传输 SLIP 数据包,并且由于 SLIP 通过"转出"对某些数据进行编码,因此生成的帧的大小是不同的
根据编码前的数据。
我已经运行滑移与小框架数天没有错误。 将大小增加到内部 UART 缓冲器以上时、UART2将不会全部接收
快照。 这取决于其他程序的活动情况。
我了解到 UART2驱动程序并不总是返回在"超时"之后收到的数据、即部分接收。
我以为我的程序中有一些模糊的错误、但试图跟踪它以不同的方式改变了行为。
最初、我可以 ping 通、速度略高于 UART 缓冲区大小。 通过重新排列代码、我现在拥有大约2.5个缓冲区的数据。
我观察到、问题"似乎是由另一个 UART 上的活动引起的。 共同的分母
是较高的阻止 IO 量、跳周代码与 TI 的原始示例一样以"回调"运行。
问题:
Q1如何计算"部分接收"超时? 我可以设置它吗? 这是一个好主意,但它的价值必须适应典型的用途。
Q2如果我怀疑"循环驱动器缓冲区"中有数据、为什么下一个接收不拾取数据?
Q3如何计算循环缓冲器的大小?
Q4任何其他建议、我需要接收"每个字节"、并需要对帧进行封包化、只要我不会错过
传入数据时、数据包无需复杂的编程即可重新汇编。
Gullik