打印
[STM32F1]

怎么控制stm32采集任意八个IO口作为16位控制数据?菜鸟求详解,感激不尽!

[复制链接]
3427|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fuyoutiandi|  楼主 | 2015-11-27 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不是用一个端口的高八位,低八位,而是其他任意的八个IO口,怎么实现啊,求思路详解
沙发
yulunna| | 2015-11-27 10:46 | 只看该作者
1、任意8个顺序要确定。
2、将确定后的端口进行位拼(与或操作),8个端口就是8位,可以拼接成一个字节

使用特权

评论回复
板凳
皈依| | 2015-11-27 12:05 | 只看该作者
楼上正解!按位与或操作

使用特权

评论回复
地板
fuyoutiandi|  楼主 | 2015-11-27 13:52 | 只看该作者
yulunna 发表于 2015-11-27 10:46
1、任意8个顺序要确定。
2、将确定后的端口进行位拼(与或操作),8个端口就是8位,可以拼接成一个字节 ...

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

使用特权

评论回复
5
fuyoutiandi|  楼主 | 2015-11-27 14:03 | 只看该作者
皈依 发表于 2015-11-27 12:05
楼上正解!按位与或操作

还是不大明白,八个01玛怎么变成0xXX数据。。。。

使用特权

评论回复
6
smartpower| | 2015-11-28 19:41 | 只看该作者
uint8_t va = (HAL_GPIO_ReadPin(GPROA , 0X01) << 7 ) |  (HAL_GPIO_ReadPin(GPROB , 0X08) << 6 ) | ... |  (HAL_GPIO_ReadPin(GPROC , 0X40) << 0 ) ;

使用特权

评论回复
7
fuyoutiandi|  楼主 | 2015-11-30 09:49 | 只看该作者
smartpower 发表于 2015-11-28 19:41
uint8_t va = (HAL_GPIO_ReadPin(GPROA , 0X01)

哦哦,谢谢了,学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

11

帖子

0

粉丝