OpenEdv-开源电子网

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

用IO口做地址

[复制链接]

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
发表于 2018-9-13 09:34:15 | 显示全部楼层 |阅读模式
1金钱
各位大佬,本人小白一枚,我想用四个IO口做stm32的地址,但是我不知道如何做开关转换为二进制的程序  怎么把几个开关合成一条二进制

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 09:36:33 | 显示全部楼层
听不懂你的需求,也许是我太菜了
回复

使用道具 举报

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
 楼主| 发表于 2018-9-13 09:46:47 | 显示全部楼层
323232 发表于 2018-9-13 09:36
听不懂你的需求,也许是我太菜了

就是读取开关的状态。比如第一个开关开了,就是1000,比如第二和第四开了,就是1010,那怎么在stm32写这个程序
回复

使用道具 举报

1

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2018-9-11
在线时间
6 小时
发表于 2018-9-13 09:47:25 | 显示全部楼层
新人  直接就是什么都不懂!!!
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 09:55:39 | 显示全部楼层
你说的这个很简单啊..如果4个GPIO口连在一起的话就更简单了啊,直接读取寄存器状态。
猪猪熊呢?
回复

使用道具 举报

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
 楼主| 发表于 2018-9-13 10:00:06 | 显示全部楼层
323232 发表于 2018-9-13 09:55
你说的这个很简单啊..如果4个GPIO口连在一起的话就更简单了啊,直接读取寄存器状态。

读取寄存器状态?
回复

使用道具 举报

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
 楼主| 发表于 2018-9-13 10:07:15 | 显示全部楼层
323232 发表于 2018-9-13 09:55
你说的这个很简单啊..如果4个GPIO口连在一起的话就更简单了啊,直接读取寄存器状态。

这个有没有教程,在哪里观看
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 10:08:54 | 显示全部楼层
没有学过51吧?直接软件转过来的?
猪猪熊呢?
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 10:12:05 | 显示全部楼层
用的库函数版本还是寄存器版本?库函数里  直接在底层库 GPIO.C里找,肯定有读取IO口电平的函数。
猪猪熊呢?
回复

使用道具 举报

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
 楼主| 发表于 2018-9-13 10:14:23 | 显示全部楼层
323232 发表于 2018-9-13 10:12
用的库函数版本还是寄存器版本?库函数里  直接在底层库 GPIO.C里找,肯定有读取IO口电平的函数。

嗯嗯好的。谢谢大佬
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 10:22:21 | 显示全部楼层
我不是大佬。

假设temp是你要得到的二进制数据

读出来的第i个开关的状态左移i-1次按位或进temp,4个IO口都进行一次这个操作就行了

如果是4个连一起的io口更方便,直接temp|=(寄存器)&0xf
猪猪熊呢?
回复

使用道具 举报

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
 楼主| 发表于 2018-9-13 10:22:46 | 显示全部楼层
323232 发表于 2018-9-13 10:12
用的库函数版本还是寄存器版本?库函数里  直接在底层库 GPIO.C里找,肯定有读取IO口电平的函数。

老哥,还是看不懂。您能说再仔细点吗?
回复

使用道具 举报

33

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2018-4-9
在线时间
35 小时
 楼主| 发表于 2018-9-13 10:24:22 | 显示全部楼层
323232 发表于 2018-9-13 10:22
我不是大佬。

假设temp是你要得到的二进制数据

四个都是PE口
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 10:25:40 | 显示全部楼层
本帖最后由 323232 于 2018-9-13 10:27 编辑

3GKATCDH)1_}RD%P]6ZZ)P9.png 我这个是F0的,别的应该会有点不一样,直接用这个函数读取IO口电平,按位或进temp就行了
猪猪熊呢?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 08:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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