OpenEdv-开源电子网

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

如何把STM32零散的IO整合在一起?

[复制链接]

17

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2014-5-1
在线时间
75 小时
发表于 2015-11-19 15:41:18 | 显示全部楼层 |阅读模式
5金钱
如何把STM32零散的IO整合在一起,比如:PB4,PB5, PA6,PA8,PC1,PC2,PC3,PC8整合成一个8位的GPIO口,把0X55这个数分配到这几个GPIO口输出?用结构可以吗?坛里谁有更好的办法能实现。

最佳答案

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

先 #define GPIO_BIT_0(x) GPIO_SET(PORTB,PB4,x) #define GPIO_BIT_1(x) GPIO_SET(PORTB,PB5,x)  ...... 然後寫一個function void GPIO_SetState(uint8_t Data) {  GPIO_BIT_0((Data&0x01));  GPIO_BIT_1((Data&0x02));  GPIO_BIT_2((Data&0x04));  ....... } 要用就呼叫 GPIO_SetState(0x55); 大概就是這樣子的方式吧 結構也可 方式大同小異
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-11-19 15:41:19 | 显示全部楼层

#define GPIO_BIT_0(x) GPIO_SET(PORTB,PB4,x)
#define GPIO_BIT_1(x) GPIO_SET(PORTB,PB5,x) 
......

然後寫一個function
void GPIO_SetState(uint8_t Data)
{
 GPIO_BIT_0((Data&0x01));
 GPIO_BIT_1((Data&0x02));
 GPIO_BIT_2((Data&0x04));
 .......
}

要用就呼叫
GPIO_SetState(0x55);

大概就是這樣子的方式吧
結構也可 方式大同小異
回复

使用道具 举报

17

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2014-5-1
在线时间
75 小时
 楼主| 发表于 2015-11-19 16:59:55 | 显示全部楼层
回复【2楼】Rocks:
---------------------------------
谢谢呀1楼。。  还有没有更好的方法?
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11575
金钱
11575
注册时间
2014-4-1
在线时间
1321 小时
发表于 2015-11-19 18:07:57 | 显示全部楼层
LS大概是最好的办法。

更好,应当不可能了。
回复

使用道具 举报

13

主题

206

帖子

1

精华

高级会员

Rank: 4

积分
613
金钱
613
注册时间
2014-10-26
在线时间
32 小时
发表于 2015-11-19 18:59:42 | 显示全部楼层
楼主想到更好的方法记得分享
学习!
回复

使用道具 举报

17

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2014-5-1
在线时间
75 小时
 楼主| 发表于 2015-11-20 08:36:51 | 显示全部楼层
恩。。 如果我调试的通,我会把更好的方法分享给大家。
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2015-11-20 11:49:45 | 显示全部楼层
回复【4楼】xuande:
---------------------------------
可以将IO口引脚结构对应到自定义结构中,然后定义不同IO口一个For循环解决。GPIO_WriteBit(GPIOx, GPIO_InitStruct.GPIO_Pin, (BitAction)(dat));
回复

使用道具 举报

17

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2014-5-1
在线时间
75 小时
 楼主| 发表于 2015-11-20 12:35:39 | 显示全部楼层
回复【7楼】365mcu:
-------------------------------
能举个简单的列子吗?  一起学习下。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-16 17:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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