OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4744|回复: 4

stm32串口发送HEX的数据的问题(在不固定数据前加0X)

[复制链接]

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2020-6-10
在线时间
33 小时
发表于 2022-4-7 19:15:50 | 显示全部楼层 |阅读模式
10金钱
最近搞了个传输模块,定点模式因为有包头只能HEX发送,我查遍资料都是发送固定的0X01 0X23这种的,我要传输的是温湿度就不能是固定的,又觉得没有必要转成16进制(透明传输传到从机直接存起来就行),所以想在数据前加一个0X,琢磨一天也没个思路,希望大佬给一些思路或者文章看一看

最佳答案

查看完整内容[请看2#楼]

以0x开头表示16进制 你非要加0x只能以字符的形式加进去 没太懂有包头只能HEX发送时什么意思 发ascii码不行吗 这样你的头只要不是数字就行 可以随意定义了 如果一定要传十六进制数 那就只能根据长度之类的判断了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-4-7 19:15:51 | 显示全部楼层
以0x开头表示16进制 你非要加0x只能以字符的形式加进去 没太懂有包头只能HEX发送时什么意思 发ascii码不行吗 这样你的头只要不是数字就行 可以随意定义了 如果一定要传十六进制数 那就只能根据长度之类的判断了
回复

使用道具 举报

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2020-6-10
在线时间
33 小时
 楼主| 发表于 2022-4-8 07:57:59 | 显示全部楼层
babyrabbit 发表于 2022-4-7 19:15
以0x开头表示16进制 你非要加0x只能以字符的形式加进去 没太懂有包头只能HEX发送时什么意思 发ascii码不行 ...

包头就是传输模块的目标地址,用ASCII码还不行嘞
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-4-8 14:49:41 | 显示全部楼层
dcxdcx 发表于 2022-4-8 07:57
包头就是传输模块的目标地址,用ASCII码还不行嘞

为什么不行? 你的从机是什么东西 有什么要求?
纯用十六进制表示你可以看看modbus协议这种 有地址 功能码 数据 校验等等 参考这种自己做个协议就行
还可以只发ascii码 这个效果就和printf输出差不多了 地址数据什么都可以传
也可以混着来 两种都用 不过这种意义不是很大了 除非你说的数据头有特殊要求 后面还想用字符来传输内容
回复

使用道具 举报

2

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2022-3-18
在线时间
13 小时
发表于 2022-4-11 15:43:59 | 显示全部楼层

以0x开头表示16进制 ,正解。如果你是温度,ad采样来的,直接就转换成了16进制,传输也是16进制。当然也可以自己转换
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 14:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表