打印
[技术讨论]

GD32F103VET6的usart2 uart3 uart4 工作不正常

[复制链接]
1711|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
42923277|  楼主 | 2021-7-27 08:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用GD32F103VET6替代STM32F103VET6时,发现GD32F103VET6的usart2 uart3 uart4 工作不正常。
void Uart3_Init(void)
{
        /* enable GPIO clock */
        rcu_periph_clock_enable(RCU_GPIOC);
  /* enable USART clock */
  rcu_periph_clock_enable(RCU_UART3);

  /* connect port to USARTx_Tx */
  gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

  /* connect port to USARTx_Rx */
  gpio_init(GPIOC, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_11);
       
        usart_deinit(UART3);
        usart_baudrate_set(UART3, 115200U);
        usart_word_length_set(UART3, USART_WL_8BIT);
        usart_stop_bit_set(UART3, USART_STB_1BIT);
        usart_parity_config(UART3, USART_PM_NONE);
        usart_hardware_flow_rts_config(UART3, USART_RTS_DISABLE);
        usart_hardware_flow_cts_config(UART3, USART_CTS_DISABLE);
        usart_receive_config(UART3, USART_RECEIVE_ENABLE);
        usart_transmit_config(UART3, USART_TRANSMIT_ENABLE);
        usart_enable(UART3);
}

{
                        //usart_data_transmit(UART3, 0X5A);
                        //usart_flag_clear(UART3, USART_FLAG_TBE);
                        //usart_flag_clear(UART3, USART_FLAG_TC);
                        usart_data_transmit(UART3, (uint8_t)0X5A);
                         //(*(volatile uint32_t *)0x40004c04) = 0x01;
                        while(RESET == usart_flag_get(UART3, USART_FLAG_TBE));
                       
                       
                        //usart_flag_clear(USART1, USART_FLAG_TBE);
                        //usart_flag_clear(USART0, USART_FLAG_TC);
                        usart_data_transmit(USART0, 0X5A);
                        while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));

在这里usart0 可以正常输出,uart3就不可以。uart3使用usart_data_transmit(UART3, (uint8_t)0X5A)发送数据时,TBE不清空,data无变化。 我测试了USART2和uart5,同样现象。

使用特权

评论回复

相关帖子

沙发
shenxiaolin| | 2024-10-23 09:01 | 只看该作者
我也遇到了同样的问题,UART3无法发送数据,初始化寄存器正常,但是发送数据无法正常发出,USART2正常使用

使用特权

评论回复
板凳
田舍郎| | 2024-10-23 16:58 | 只看该作者
全部正常。那就是配置问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

81

帖子

0

粉丝