打印

GD32F330F8P6TR串口1使用问题

[复制链接]
426|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
809108577|  楼主 | 2021-5-10 08:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 809108577 于 2021-5-10 09:11 编辑

程序使用USART0发送数据一切正常,但是用USART1发送数据时,通过电脑接收显示出现乱码,发送0X55,接收正常,其他的比如0X25接收显示0x2D,不知道有哪位大哥能帮忙分析一下,我感觉是不是布线干扰了,程序见附件,各位大神帮忙看看,或者验证一下,小弟拜谢,在线等回复
1、串口配置
void USART1_Init(void)
{
        rcu_periph_clock_enable(RCU_GPIOA);
        rcu_periph_clock_enable(USART1_CLOCK);
        gpio_af_set(USART1_PORT, GPIO_AF_1, USART1_TX_PIN);
        gpio_mode_set(USART1_PORT, GPIO_MODE_AF, GPIO_PUPD_PULLUP, USART1_TX_PIN);
        gpio_output_options_set(USART1_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USART1_TX_PIN);
        gpio_af_set(USART1_PORT, GPIO_AF_1, USART1_RX_PIN);
        gpio_mode_set(USART1_PORT, GPIO_MODE_AF, GPIO_PUPD_PULLUP, USART1_RX_PIN);
        gpio_output_options_set(USART1_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USART1_RX_PIN);
        usart_deinit(USART1);        
        usart_baudrate_set(USART1,115200U);        
        usart_transmit_config(USART1, USART_TRANSMIT_ENABLE);        
        usart_receive_config(USART1, USART_RECEIVE_ENABLE);        
        usart_enable(USART1);        
}

2、串口发送函数
void UART_SendChar(uint32_t usart_periph,uint8_t dat)
{
        //usart_flag_clear(usart_periph,USART_FLAG_TC);
        usart_data_transmit(usart_periph, dat);
        while(RESET == usart_flag_get(usart_periph, USART_FLAG_TBE));
        delay_1ms(1);
        //usart_flag_clear(usart_periph,USART_FLAG_TC);
}


gd32f330f8_usart1.rar

1.54 MB

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝