野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18540|回复: 4

上拉下拉模式配置的问题

[复制链接]
发表于 2013-11-18 19:36:13 | 显示全部楼层 |阅读模式
上拉下拉模式还是在CRL寄存器配置,还是有其他专门的寄存器配置呢
QQ截图20131118193701.jpg
回复

使用道具 举报

发表于 2013-11-18 20:03:16 | 显示全部楼层
1、不管是上拉还是下拉都配置成一样(但是如何区分是上拉还是下拉呢?看第二步)
2、这是通过寄存器端口位设置 / 清除寄存器 (GPIOx_BSRR) 来设置的,当你在这个
   寄存器的相应位置(SET BIT)写1 时,就输出高电平,当在(RESET BIT)写1
   时候就输出低电平。这样上拉下拉就区分出来了。
   GPIOx_BSRR : GPIO BIT SET/RESET REGISTER
   PS:
   端口位设置 / 清除寄存器 (GPIOx_BSRR):可以对相应的bit写1 RESET 或者 SET (都是通过写1来操作的)
   端口位清除寄存器 (GPIOx_BRR):只能对相应的bit写1 RESET

3.jpg

4.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-18 20:22:16 | 显示全部楼层
fire 发表于 2013-11-18 20:03
1、不管是上拉还是下拉都配置成一样(但是如何区分是上拉还是下拉呢?看第二步)
2、这是通过寄存器端口位 ...

分析的很有道理,但是那个GPIO_Mode_IPU = 0x48, 的0x48是如何计算出来的呢
QQ截图20131118202301.jpg
回复 支持 反对

使用道具 举报

发表于 2013-11-18 20:26:30 | 显示全部楼层
帮帮顶顶!!
回复 支持 反对

使用道具 举报

发表于 2013-11-18 21:43:26 | 显示全部楼层
杀神12300 发表于 2013-11-18 20:22
分析的很有道理,但是那个GPIO_Mode_IPU = 0x48, 的0x48是如何计算出来的呢

楼主看过GPIO_init函数定义的源码,我记得输出模式和输入模式根据第5位来区分, 然后前四位好像就是根据寄存器模式说明那样配置的了,记得不太清楚,楼主可以看看
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 04:03 , Processed in 0.154346 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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