heweibig 发表于 2022-12-9 22:12

怎么控制stm32采集任意八个IO口作为16位控制数据?

怎么控制stm32采集任意八个IO口作为16位控制数据?

heweibig 发表于 2022-12-9 22:17


不是用一个端口的高八位,低八位,而是其他任意的八个IO口,怎么实现啊,求思路详解

juventus9554 发表于 2022-12-9 22:19

任意8个顺序要确定

ousj 发表于 2022-12-9 22:22

将确定后的端口进行位拼(与或操作),8个端口就是8位,可以拼接成一个字节

dingy 发表于 2022-12-9 22:25

楼上正解!按位与或操作

heweibig 发表于 2022-12-9 22:28

端口拼接是怎么拼接的啊?

lizye 发表于 2022-12-9 22:30


八个01玛怎么变成0xXX数据。。。

juventus9554 发表于 2022-12-9 22:34

uint8_t va = (HAL_GPIO_ReadPin(GPROA , 0X01) << 7 ) |(HAL_GPIO_ReadPin(GPROB , 0X08) << 6 ) | ... |(HAL_GPIO_ReadPin(GPROC , 0X40) << 0 ) ;

xxrs 发表于 2022-12-9 22:37

是要看io口的高低状态吗

huangchui 发表于 2022-12-9 22:40

每次采集的io口还不一样?

jlyuan 发表于 2022-12-9 22:42

随时监控io口寄存器就行吧

pengf 发表于 2022-12-9 22:44

是说数据还是说电平啊

heweibig 发表于 2022-12-9 22:46

本帖最后由 heweibig 于 2022-12-9 22:49 编辑

谢谢搞定了,现在调cjson,数据多了芯片会死机

Henryko 发表于 2022-12-10 16:01

找到要用的引脚,然后用与或操作合成
页: [1]
查看完整版本: 怎么控制stm32采集任意八个IO口作为16位控制数据?