STM32如何从串口缓冲区提取某一个数显示到LCD上???

USART2_RX_BUF有一组10个字节的16进制数据{0X98,0X45,0X80,0X2A,0X00,0X00,0XCB,0X10,0X05,0XAA},我想从其中... USART2_RX_BUF有一组10个字节的16进制数据{0X98,0X45,0X80,0X2A,0X00,0X00,0XCB,0X10,0X05,0XAA},我想从其中提取{0X80,0X2A}并转换为10进制,然后用LCD_DispStr()函数显示到显示屏上,试了很多方法都错误。 展开
 我来答
一剑出血
高粉答主

2016-09-11 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
新开一个函数进行进制转换并输出一个字符串
Fun_Hex2DecStr(int hex, uchar * str_out);

十六进制转十进制的方法,以及+'0'转换为字符的方法,这些基本知识你应该都知道吧。
追问
大哥,16转10的方法是懂,就是不懂该怎么正确提取啊,我写了一个提取代码,但不懂什么情况,运行1分多种就会自动死机了,重新复位又正常,每次都是一分钟死。。。

SZ1=USART2_RX_BUF[4]; //读取缓冲区
SZ2=USART2_RX_BUF[5];
sprintf(HEX,"%02x%02X",SZ1,SZ2);
追答
你需要跟踪确认造成“死机”的原因。说到底你的整个系统设计都有问题,明明有狗的片子居然还能出现“死机”这种情况。如果有操作系统,应该打个日志文件看看出现了什么异常。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式