本帖最后由 lvben5d 于 2022-8-2 14:11 编辑
LIN总线具备回环模式,当你TXD的时候,你的RXD引脚会收到总线的信息。
发现AT32F425 , 首先接收串口中断进入的 字节接收中断,然后才是break BFF中断。 如果硬件上不能做区分,用户软件层面就必须做区分了。GD32E103的主机模式调试OK,移植到AT32F425,我发现break后,发送0x55 ,接收这边好像很容易收不到。不知道为什么,理论上来说,回环会进接收中断。 解决 : 原来是 AT32F425 接收 BFF中断后 马上发送0x55 会导致发送不出0x55, 导致接收不到,解决办法 如下
delay_us(2); //发送0x55之前 软延迟2us 再发。 我波特率19200 如果没有延迟,绝对收不到0x55回环~
usart_data_transmit(USART1, 0x55);
|