[STM32F1] 通过串口调试助手usart串口输入后,printf输出对应的数组元素总是多48。

[复制链接]
1534|9
 楼主| xingyue12 发表于 2019-7-9 22:23 | 显示全部楼层 |阅读模式
usart串口输入后,一位位的用printf输出对应的数组元素,总是多48。比如本来是1,读出来应该是49,本来是2,读出来应该是50

//对所用数组的一些设置
#define USART_REC_LEN                          10        
#define EN_USART1_RX                         1               
                 
extern uint16_t  USART_RX_BUF[USART_REC_LEN];
extern uint16_t USART_RX_STA;                        


//USART串口的部分主要配置

        USART_InitStructure.USART_BaudRate = bound;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        USART_InitStructure.USART_Parity = USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;       

    USART_Init(USART1, &USART_InitStructure);
    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
    USART_Cmd(USART1, ENABLE);                  

//输出函数
printf("%d",USART_RX_BUF[0]);

 楼主| xingyue12 发表于 2019-7-9 22:25 | 显示全部楼层
请大佬指教,不懂啊,自己只能先减去48用着
antusheng 发表于 2019-7-9 23:16 | 显示全部楼层
编码问题?你试试这个版块有个版主刚发的QT开发的串口助手。看看结果如何。
paotangsan 发表于 2019-8-7 11:21 | 显示全部楼层
通过什么输出呢
renzheshengui 发表于 2019-8-7 11:25 | 显示全部楼层
编码有问题吧
wakayi 发表于 2019-8-7 11:31 | 显示全部楼层
先确认一下发送的是什么吧
夜神荣 发表于 2022-10-26 14:59 | 显示全部楼层
我也遇到了,改了好多没有用,你那边怎么解决的
SantaBunny 发表于 2022-11-3 20:05 | 显示全部楼层
发送的是什么啊
Undshing 发表于 2022-11-6 22:00 | 显示全部楼层
把多余的48截去还能接着用
MessageRing 发表于 2022-11-9 20:36 | 显示全部楼层
是因为编码问题吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部