完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
配置端口为带上下拉的输入时,说明书内无如何选择上拉或下拉的说明,
看实例代码由端口输出寄存器OUTDR控制上拉或下拉,理解是是否正确? if (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) { GPIOx->BCR = (((uint32_t)0x01) |
|
相关推荐
4个回答
|
|
您好,若需要配置为上下拉输入模式时,需要通过GPIO配置寄存器(GPIOx_CFGLR/
GPIOx_CFGHR )配置为带有上下拉的输入模式,比如MODEx位配置为00,表示输入模式,CNFx位配置为10,表示带有上下拉模式,具体可见下图配置寄存器说明。关于具体是上拉还是下拉,可通过BCR或者BSHR寄存器决定。若下拉,设置端口复位寄存器(GPIOx_BCR),若上拉,设置端口复位/置位寄存器(GPIOx_BSHR)的0-15对应位置1。 if-else语句里的两个寄存器分别为端口复位寄存器(GPIOx_BCR)和端口复位/置位寄存器(GPIOx_BSHR),关于这两个寄存器的具体说明如下图。 |
|
|
|
|
|
|
|
您好,GPIO引脚的上下拉输入配置与OUTDR寄存器无关,OUTDR寄存器是一个端口输出寄存器,表示端口输出的数据。关于端口复位/置位寄存器(GPIOx_BSHR)或者端口复位寄存器(GPIOx_BCR)里描述的清除对应的OUTDR位,意思是说:无论是配置为输入或者输出,当你要将这个引脚拉高或者拉低时,都会对OUTDR寄存器写0复位,然后设置引脚拉高拉低。关于上下拉寄存器,当配置为输入时,对BSHR或BCR寄存器进行相应的操作即可设置上下拉。
|
|
|
|
引脚输入输出切换后,希望输出保持原来的状态,
1、引脚在输出状态,OUTDR寄存器输出有效。 2、引脚 配置为输入上拉,这时,OUTDR会被复位 3、 重新配置为输出,这时我必须重新设置OUTDR的值,因为原始值第二步被复位了 |
|
|
|
只有小组成员才能发言,加入小组>>
456 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2865 浏览 2 评论
2352 浏览 1 评论
804浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
629浏览 1评论
489浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
353浏览 1评论
629浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 21:17 , Processed in 0.808685 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号