ch9434丢失数据

linux上面当大量接收数据的时候会出现丢数据,怎么处理?


驱动用https://github.com/WCHSoftGroup/ch9434ser_linux 最新的。


<3>[  288.909323] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  294.113124] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  299.326623] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  303.476774] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  318.067465] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  323.432366] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  339.077988] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  344.254277] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  370.523683] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  375.450513] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  378.987159] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  384.117943] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  388.094397] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  393.530393] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  398.886174] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  400.481623] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  414.066184] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  418.073931] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  423.110287] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  428.857534] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  430.532406] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63

<3>[  433.044194] ch943x_spi spi1.0: Rx Overrun portno = 3, lsr = 0x63



您好。LSR=63表示接收缓冲区溢出了,您目前串口波特率是多少,建议调整到115200,同时可以提高SPI频率到2M试下,


RTK应用深度使用。 


串口1串口3 是460800.

串口0是115200 


三个串口都有大量数据。


目前spi配的是10M


有什么好的办法吗?


我把fifo buf改小,及时去拿数据?


但改小又导致接收中断频繁吧,这样又会影响数据发送?


目前linux下最大带宽话,就四个串口115200跑满,由于Linux系统调度和SPI实际的延时,最大时钟频率的一般我们建议固定在2M,不太清楚您那边需要多大的带宽,后续有问题可以直接联系邮箱

xcc@wch.cn


只有登录才能回复,可以选择微信账号登录