完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
stm32f407的IO口可由软件配置成8种模式:输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、推挽输出、推挽式复用功能、开漏式复用功能。
下列分别是GPIOx常用配置相关的寄存器: 1、MODER寄存器(端口模式) 32位寄存器,每两位控制一个IO口的模式,总共16组。00:输入、01:通用输出模式、10、复用功能模式、11:模拟模式,该寄存器在复位后,一般都是0,也就是默认条件下一般是输入状态。 2、OTYPER寄存器(输出类型) 32位寄存器,高16位保留,必须保持复位值,低16位,每位控制一个IO口输出类型。0:输出推挽、1:输出开漏,该寄存器仅用于输出模式,复位后各位为0,默认输出类型是推挽输出。 3、OSPEEDR寄存器(输出速度) 32位寄存器,每两位控制一个IO口的模式,总共16组。00:2MHz、01:25MHz、10、50MHz、11:100MHz,该寄存器仅用于输出模式,复位后各位为0 4、PUPDR 寄存器(上拉下拉) 32位寄存器,每 2 个位控制一个 IO 口,用于设置上下拉。00:无上拉下拉、01:上拉、10、下拉、11:保留。 库函数的GPIOx配置函数: void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState) 引脚时钟使能 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 引脚初始化 下列分别是GPIOx常用参数设置相关的寄存器 ODR寄存器,控制IO口的输出状态,与读取IO口的输出状态,改变整组IO口状态,一般不用此寄存器,相关库函数如下 void GPIO_Write(GPIO_TypeDef* GPIOx,uint_t PortVal) IDR寄存器,读取IO口的输入状态,相关库函数如下 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx) 读取某组IO口 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)读取某个IO口 BSRR寄存器 控制IO口的输出状态,改变单个IO口状态, BSRRL写1则置1,写0无反应,BSRRH写1则置零,写0无反应,相关库函数如下: void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 置1 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)置0,PXout() |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:13 , Processed in 0.896400 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号