GD32的串口6就是不通怎么办

[复制链接]
944|6
手机看帖
扫描二维码
随时随地手机跟帖
小坤坤最帅|  楼主 | 2020-7-13 15:35 | 显示全部楼层 |阅读模式
只是单纯的发个数据
初始化为: gd_eval_com_init(USART_NUM);
循环里发数据:usart_data_transmit(USART_NUM, 0x55);
宏定义:#define USART_NUM USART5

初始化函数为:
void gd_eval_com_init(uint32_t com)
{
    rcu_periph_clock_enable(RCU_GPIOG);

    /* enable USART clock */
    rcu_periph_clock_enable(RCU_USART5);

    /* connect port to USARTx_Tx */
    gpio_af_set(GPIO_NUM, GPIO_AF_7, USART_TX);

    /* connect port to USARTx_Rx */
    gpio_af_set(GPIO_NUM, GPIO_AF_7, USART_RX);

    /* configure USART Tx as alternate function push-pull */
    gpio_mode_set(GPIO_NUM, GPIO_MODE_AF, GPIO_PUPD_PULLUP,USART_TX);
    gpio_output_options_set(GPIO_NUM, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,USART_TX);

    /* configure USART Rx as alternate function push-pull */
    gpio_mode_set(GPIO_NUM, GPIO_MODE_AF, GPIO_PUPD_PULLUP,USART_RX);
    gpio_output_options_set(GPIO_NUM, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,USART_RX);

    /* USART configure */
    usart_deinit(com);
    usart_baudrate_set(com,9600U);
    usart_receive_config(com, USART_RECEIVE_ENABLE);
    usart_transmit_config(com, USART_TRANSMIT_ENABLE);
    usart_enable(com);
}
函数里的参数的宏定义为:
#define USART_TX GPIO_PIN_14
#define USART_RX GPIO_PIN_9
#define GPIO_NUM GPIOG

使用特权

评论回复
sonicll| | 2020-7-13 15:47 | 显示全部楼层
你用的什么型号?GD32F450吗?PG9和PG14给USART5用,需要配置为GPIO_AF_8,注意看datasheet里那个管脚复用的表格

使用特权

评论回复
q957665591| | 2023-6-17 11:11 | 显示全部楼层
楼主问题解决了吗,我也遇到这个问题了,可以交流一下吗

使用特权

评论回复
elephant00| | 2024-2-7 16:16 | 显示全部楼层
硬件问题?

使用特权

评论回复
两只袜子| | 2024-2-7 16:17 | 显示全部楼层
仔细检查串口6的初始化配置代码,确保波特率、数据位、停止位和校验位等参数设置正确。
确保串口6的时钟源和时钟分频系数已正确配置。
确认串口6的GPIO引脚已正确配置为输出(TX)和输入(RX)。

使用特权

评论回复
jcky001| | 2024-2-7 16:17 | 显示全部楼层
尝试更新GD32微控制器的固件或固件库

使用特权

评论回复
cr315| | 2024-2-7 16:18 | 显示全部楼层
使用调试工具(如JTAG或串口调试助手)来查看串口6的发送和接收数据。

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝