stm32库函数IO口控制

stm32的IO口比51复杂多,所以使用起来比较困难,首先stm32的IO口可以由软件配置成8种工作模式:
1输入浮空
2输入上拉
3输入下拉
4模拟输入
5开漏输出
6推挽输出
7推挽式复用功能
8开漏式复用功能
每个IO可以自由编程,IO口寄存器必须按32位字被访问。 STM32的很多IO口都是5V兼容的,具体哪些引脚可以从芯片资料得到。
STM32的每个IO口都有7个寄存器控制。分别为:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位复位寄存器BSRR;1个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR
CRL和CRH控制着每个IO口的模式及输出速率。
STM32的CRL控制着每组IO端口的低八位的模式每个IO端口的位占用CRL的4个位
在STM32的固件库开发中,操作寄存器CRH和CRL来配置IO口的模式和速度是通过GPIO初始化函数完成:
void GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);
IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位形式读出在固件库中,操作IDR寄存器读取IO端口数据是通过GPIO_ReadIputDataBit函数实现的:
uint_8t GPIO_ReadIputDataBit(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin)
ODR是一个端口输出数据寄存器
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值