lvben5d 发表于 2022-8-1 10:13

AT32F425 LIN 有人调试过吗?

本帖最后由 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);



mark一江水 发表于 2022-8-1 10:54

本帖最后由 mark一江水 于 2022-8-1 13:21 编辑

确实rxne接收标志会先于bff置位,并先来中断,rm也是这样描述的,没问题哦。同一个中断向量里,但是两个不同的标志位,也好区分。

lvben5d 发表于 2022-8-1 13:54

本帖最后由 lvben5d 于 2022-8-2 14:11 编辑

AF32F425 LIN主机模式 没有调通。 break后,我发送0x55, 很多时候 没有回环收到,导致超时,而GD32E103 我全部调通了。
目前不知道哪里问题。
      gpio_init_type gpio_init_struct;
      /* configure the uart1 Rx pin */
      gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
      gpio_init_struct.gpio_out_type       = GPIO_OUTPUT_PUSH_PULL;
      gpio_init_struct.gpio_mode         = GPIO_MODE_MUX;
      gpio_init_struct.gpio_pins         = GPIO_PINS_7;
      gpio_init_struct.gpio_pull         = GPIO_PULL_UP;
      gpio_init(GPIOB, &gpio_init_struct);
      
      gpio_init_struct.gpio_pins         = GPIO_PINS_6;
      gpio_init_struct.gpio_pull         = GPIO_PULL_NONE;
      gpio_init(GPIOB, &gpio_init_struct);
      gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE6, GPIO_MUX_0);         
      gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE7, GPIO_MUX_0);
      
      /* configure usart2 param */
      usart_init(USART1, SysInfo.Usbd2lin_baudrate, USART_DATA_8BITS, USART_STOP_1_BIT);
      usart_transmitter_enable(USART1, TRUE);
      usart_receiver_enable(USART1, TRUE);
      usart_interrupt_enable(USART1, USART_RDBF_INT, TRUE);
      usart_interrupt_enable(USART1, USART_BF_INT,   TRUE);
      usart_break_bit_num_set(USART1, USART_BREAK_11BITS);      
      usart_enable(USART1, TRUE);
      usart_lin_mode_enable(USART1, TRUE);
问题解决,楼1 我描述了!

skyred 发表于 2022-8-2 20:35

mark一江水 发表于 2022-8-1 10:54
确实rxne接收标志会先于bff置位,并先来中断,rm也是这样描述的,没问题哦。同一个中断向量里,但是两个不 ...

这个技术手册,能提供一下连接么

daichaodai 发表于 2022-8-4 19:42

没有调试过,帮顶一下。

chenqianqian 发表于 2022-8-5 07:52

没用过LIN,LIN的优势在哪里了?
页: [1]
查看完整版本: AT32F425 LIN 有人调试过吗?