打印
[STM32F1]

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

[复制链接]
1254|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 | 只看该作者
通过什么输出呢

使用特权

评论回复
5
renzheshengui| | 2019-8-7 11:25 | 只看该作者
编码有问题吧

使用特权

评论回复
6
wakayi| | 2019-8-7 11:31 | 只看该作者
先确认一下发送的是什么吧

使用特权

评论回复
7
夜神荣| | 2022-10-26 14:59 | 只看该作者
我也遇到了,改了好多没有用,你那边怎么解决的

使用特权

评论回复
8
SantaBunny| | 2022-11-3 20:05 | 只看该作者
发送的是什么啊

使用特权

评论回复
9
Undshing| | 2022-11-6 22:00 | 只看该作者
把多余的48截去还能接着用

使用特权

评论回复
10
MessageRing| | 2022-11-9 20:36 | 只看该作者
是因为编码问题吗?

使用特权

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

本版积分规则

1

主题

7

帖子

0

粉丝