【STM32学习笔记——串口接收问题】

本文介绍了串口通信中ASCII值如何转换为10进制数,通过减去ASCII码的'0'(48)进行转化。以接收字符123为例,通过逐位转换并组合得到实际数值。同时提到了串口助手发送的ASCII值转换为16进制时同样需要参照ASCII表进行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

串口发送的是ASCII值
所以当串口接收到时要转化成10进制数时,需要一位一位的进行转换,比如接收到的是123,就需要减去48 (0x30)

接收的字符以ascii码形式存储,要减去字符‘0’,对应ascii码就是数字48

	LCD_ShowString(10,130,240,24,24,USART_RX_BUF);
x=(USART_RX_BUF[0]-48)*100+(USART_RX_BUF[1]-48)*10+(USART_RX_BUF[2]-48);
y=(USART_RX_BUF[3]-48)*100+(USART_RX_BUF[4]-48)*10+(USART_RX_BUF[5]-48);

串口助手发送的也是ASCII值,转成16进制时,也需要对应ASCII表来转换。ASCII表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值