野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20416|回复: 5

作业:第九讲 第3节 编写GPIO初始化结构体合初始化函数

[复制链接]
发表于 2020-9-26 15:14:11 | 显示全部楼层 |阅读模式
在原有代码上稍作修改就可以点亮其他两的灯,但是要想让这些灯同时亮,是不是还得定义2个GPIO_InitStructure.GPIO_Pin函数,这样会不会太麻烦了,有没有大佬说下更简单一点的方法,讲解下思路
野火论坛202009261511047138..png
回复

使用道具 举报

发表于 2020-9-26 16:11:43 | 显示全部楼层
要用其他的引脚,初始化是必须的,或者直接用寄存器点亮;这样的话可以操作快很多,就是寄存器比较难理解
回复 支持 反对

使用道具 举报

发表于 2020-9-26 17:24:40 | 显示全部楼层
试试:GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5

比如
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5;

GPIO_SetBits(GPIOB, GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5);
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-9-26 21:06:50 | 显示全部楼层
yhpzy 发表于 2020-9-26 16:11
要用其他的引脚,初始化是必须的,或者直接用寄存器点亮;这样的话可以操作快很多,就是寄存器比较难理解 ...

使用寄存器这些因为是实际上是使用对应的地址,不会出现这个函数赋值冲突。我是想有没有什么方法解决这个赋值冲突的问题
回复 支持 反对

使用道具 举报

发表于 2020-9-27 10:06:23 | 显示全部楼层
可以试试3楼的方法;但是这样写的话,感觉还不如复制粘贴之后来得快
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-27 19:40:08 | 显示全部楼层
yhpzy 发表于 2020-9-27 10:06
可以试试3楼的方法;但是这样写的话,感觉还不如复制粘贴之后来得快

他这个大概意思我懂了,应该是把p0,p1,p5都存入那个Pin结构体指针里去,但是感觉这样写不严谨,我不是很清楚c语言的语法可不可以这样写,但是复制粘贴修改下更好吧,方便直观了解。还是感谢2位兄台的解答。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 08:42 , Processed in 0.050407 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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