[STM32F1] stop灯亮 你试试进入sotp模式 亮不亮了

[复制链接]
3058|16
 楼主| wyjie 发表于 2021-7-6 21:56 | 显示全部楼层 |阅读模式
我将ADC采到的数据存入16位数组中,然后串口依次发送字节,可是发送得到的数据是反的,比如0x0FFF,收到的两个字节就是0xFF, 0x0F。这给我写上位机处理数据造成了困扰,这是不是大小端的问题,上位机如果直接用16位数组直接存储就可以了
dengdc 发表于 2021-7-6 21:58 | 显示全部楼层
好办呀。你上位机把两个字节反一下不就完了吗
sonicll 发表于 2021-7-7 08:55 | 显示全部楼层
就是大小端的问题,你需要自己调整一下字节顺序
呐咯密密 发表于 2021-7-7 11:22 | 显示全部楼层
或者在发送数据之前给反一下,
yszong 发表于 2021-7-7 18:52 | 显示全部楼层
自己把发送顺序调一下就行了
zwll 发表于 2021-7-7 18:59 | 显示全部楼层
就是多那么一两行代码,你都懒得写
dingy 发表于 2021-7-7 19:03 | 显示全部楼层
跟你发送的顺序有关。不过你直接反一下就好了。
dengdc 发表于 2021-7-7 19:05 | 显示全部楼层
串口通讯每次只能发送1个字节8位数据。你应该按照这个约定发送数据才能得到正确结果
zhanghqi 发表于 2021-7-7 19:07 | 显示全部楼层
16位数据要拆成2个字节发送。
jlyuan 发表于 2021-7-7 19:09 | 显示全部楼层
按顺序存入你的16位数组里面,就会正确还原,我们常用的都是小端模式,低字节占据低地址,这个根本不是问题,只是你肉眼看上去是反的,但这就是在内存中的顺序
yufe 发表于 2021-7-7 19:13 | 显示全部楼层
先发高位字节,再发低位字节。
zwll 发表于 2021-7-7 19:16 | 显示全部楼层
串口通讯每次只能发送1个字节8位数据,16位数据是先低8位,后高8位,接收时先接收低8位,后接收高8位,这时发送的低8位就跑到接收高8位的位置上去了,而发送的高8位就变成了接收的低8位,所以数据是反的
dingy 发表于 2021-7-7 19:18 | 显示全部楼层
看来楼主是软件转行过来的啊,没有经历过单片机汇编程序,一个bit一个bit的编辑那才爽呢。
supernan 发表于 2021-7-7 19:21 | 显示全部楼层
存的时候有没有存反呢? 可以反向输出
 楼主| wyjie 发表于 2021-7-7 19:23 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先
sadicy 发表于 2021-7-8 11:39 | 显示全部楼层
啥灯亮不亮的,
SantaBunny 发表于 2023-3-6 21:43 | 显示全部楼层
从STOP模式下唤醒后,要重新倍频一下(如果系统时钟工作在72MHZ),配置一下时钟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

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