打印

GD32E507V-START USART0 收到数据是乱码

[复制链接]
6420|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hlg5141979-te|  楼主 | 2023-12-13 13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 购买的GD32E507V-START 开办版 2 使用提供demo程序 GD32E50x_Demo_Suites_V1.3.1\GD32E507V_START_Demo_Suites\Projects\04_USART_HyperTerminal_Interrupt
USART0的配置:
static void usart_config(void)
{
    /* enable GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOB);
    /* enable USART clock */
    rcu_periph_clock_enable(RCU_USART0);
    /* enable AF clock */
    rcu_periph_clock_enable(RCU_AF);
    /* remap USART0_TX to PB6, USART0_RX to PB7 */
    gpio_pin_remap_config(GPIO_USART0_REMAP, ENABLE);
    /* connect port to USARTx_Tx */
    gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
    /* connect port to USARTx_Rx */
    gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_7);
    /* USART configure */
    usart_deinit(USART0);
    usart_word_length_set(USART0, USART_WL_8BIT);
    usart_stop_bit_set(USART0, USART_STB_1BIT);
    usart_parity_config(USART0, USART_PM_NONE);
    usart_baudrate_set(USART0, 115200U);
    usart_receive_config(USART0, USART_RECEIVE_ENABLE);
    usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
    usart_enable(USART0);
}

3 把demo中USART0:PB_06 接到9针串口线的2脚
                                PB_07 接到9针串口线的3脚  
                                9针串口线的5脚接到开发板的GND
4 串口调试助手:收到数据是乱码
串口调试助手设置:115200 8位数据位 1位停止位 无校验位 无流控

请教下各位大佬,为啥是乱码?
发送数据是:0x00,......,0xFF;
收到数据是:00 FD FB F9 F7 F5 F1,......01 80

使用特权

评论回复
沙发
tpgf| | 2024-1-17 16:43 | 只看该作者
楼主收到的这个乱码也是固定的乱码是吗

使用特权

评论回复
评论
hlg5141979-te 2024-1-18 10:21 回复TA
固定的乱码数据。两端的电平不匹配 
板凳
heimaojingzhang| | 2024-1-17 17:19 | 只看该作者
楼主可以考虑使用示波器看看波形是不是正确的

使用特权

评论回复
评论
hlg5141979-te 2024-1-18 10:22 回复TA
输出的波形是正确的,没有问题的 
地板
renzheshengui| | 2024-1-17 17:55 | 只看该作者
硬件连接上是不是还应该有上拉电阻或者下拉电阻呀

使用特权

评论回复
5
wakayi| | 2024-1-17 21:00 | 只看该作者
这个功能模块使用的时钟源是多大的啊

使用特权

评论回复
6
paotangsan| | 2024-1-17 22:01 | 只看该作者
极大的概率就是波特率不匹配,因为楼主已经发送出来了数据了

使用特权

评论回复
7
keaibukelian| | 2024-1-17 22:37 | 只看该作者
这个还得结合楼主的时钟配置来进行判断

使用特权

评论回复
8
hlg5141979-te|  楼主 | 2024-1-18 10:21 | 只看该作者
不是程序的问题,是开发板输出GPIO引脚输出的3.3V的TTL电平,而USB转串口调试工具接收的是5V的电平,加个电平转换芯片就好了 

使用特权

评论回复
9
elephant00| | 2024-1-30 10:45 | 只看该作者
波特率不匹配

使用特权

评论回复
10
两只袜子| | 2024-1-30 10:46 | 只看该作者
检查发送和接收设备的设置,确保数据位、停止位和奇偶校验的设置一致。

使用特权

评论回复
11
jcky001| | 2024-1-30 10:46 | 只看该作者
检查硬件连接是否正常,包括接线、电平转换等。此外,检查芯片的电源和地是否正常。

使用特权

评论回复
12
cr315| | 2024-1-30 10:47 | 只看该作者
是否存在信号干扰

使用特权

评论回复
13
中国龙芯CDX| | 2024-1-30 22:07 | 只看该作者
有时候乱码是信号线接的有问题

使用特权

评论回复
14
药无尘| | 2024-1-30 22:17 | 只看该作者
协议不匹配

使用特权

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

本版积分规则

2

主题

11

帖子

0

粉丝