完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了更好的分享学习心得,从此贴开始规范发帖标题。初步打算是先和大家分享一些比较常用的模块的用法,其中包括GPIO、I2C、USART、ADC、DAC、定时器及PWM产生等。
好了,接下来开始分享今天的GPIO模块: GPIO驱动可以用作多个用途,包括管脚设置,单位设置或重置,锁定机制,从端口管脚读入或者向端口管脚写入数据。 接下来介绍一下GPIO模块寄存器的分布: typedef struct { uint32_t CRL; uint32_t CRH; uint32_t IDR; uint32_t ODR; uint32_t BSRR; uint32_t BRR; uint32_t LCKR; } GPIO_TypeDef; 通过结构体来定义GPIO模块中各个寄存器,这样只需要一个基地址指针就可以向你想操作的寄存器中读出或写入了,而省去了为每一个寄存器来赋一个地址。 通过配置上述寄存器的各个相应位就可以实现输入输出操作,在这里介绍几个常用的函数: 1.void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 2.void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 3.void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 4.void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); 5.void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); 好了,今天就先分享这么多吧,明天就开始进入GPIO模块内部,解读底层驱动,让我们一起来揭开她神秘的面纱吧! |
|
相关推荐
|
|
【云智易试用体验】+stm32深入底层驱动之GPIO模块(下) https://bbs.elecfans.com/jishu_514318_1_1.html
|
|
|
|
|
|
2201 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2027 浏览 3 评论
4633 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2171 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2705 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 14:51 , Processed in 0.591520 second(s), Total 68, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号