OpenEdv-开源电子网

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

关于stm32f103的GPIO口的问题

[复制链接]

2

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2017-7-18
在线时间
3 小时
发表于 2017-7-18 23:38:35 | 显示全部楼层 |阅读模式
各位大神,我是新手,有两个问题需要问一下。如图,库函数开发模式中,关于gpio口模式的结构体,里面的对应每种模式的数字是怎么来的?是寄存器的值吗?还有,我是寄存器版本和库函数版本对照着看的,先看寄存器版本,弄懂了以后再看库函数版本的,那么库函数中每个函数的实现方式需要仔细研究吗?有的函数实现方法真是太难懂了。
typedef enum
{ GPIO_Mode_AIN = 0x0,
  GPIO_Mode_IN_FLOATING = 0x04,
  GPIO_Mode_IPD = 0x28,
  GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14,
  GPIO_Mode_Out_PP = 0x10,
  GPIO_Mode_AF_OD = 0x1C,
  GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;

搜狗截图20170718233520.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

16

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-7-18
在线时间
7 小时
发表于 2017-7-19 09:17:46 | 显示全部楼层
我觉得寄存器版本都弄懂了,说明基本上你对STM32的一些底层操作已经掌握了,那么对于库函数的话只要会用就好了,没有必要再去深究了,因为库函数的底层也是寄存器的操作,只是封装了一下的
回复 支持 1 反对 0

使用道具 举报

0

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
1216
注册时间
2016-7-17
在线时间
143 小时
发表于 2017-7-19 09:31:43 | 显示全部楼层
其实就是往相应寄存器中填值
回复 支持 反对

使用道具 举报

3

主题

130

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3130
金钱
3130
注册时间
2017-3-2
在线时间
324 小时
发表于 2017-7-19 14:25:57 | 显示全部楼层
如果是个没基础的新手,我觉得应该先学习库函数,库函数会用了觉得有疑惑的再去看寄存器,这样学得快点而且有信心学下去,如果一上来就去看寄存器,复杂的寄存器配置会让学习枯燥无味,很快就失去兴趣。学习库函数如果有不懂的,点开每个函数去看,函数里也是配置寄存器,顺便也可以学习下ST团队写的函数,库函数写的很优美
坚持不懈的努力!
回复 支持 反对

使用道具 举报

11

主题

104

帖子

0

精华

初级会员

Rank: 2

积分
199
金钱
199
注册时间
2017-7-14
在线时间
25 小时
发表于 2017-7-19 15:27:23 | 显示全部楼层
想要看懂库函数是怎么实现个人觉得很不容易,但是你知道每个函数是通过给寄存器赋这个值然后达到什么目的,我觉得就够了。对了还要知道每个函数在哪个文件里,知道这几点你写程序就会很顺畅了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-12-19 04:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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