STM32 IO口学习
来源:互联网 发布:telnet 端口链接失败 编辑:程序博客网 时间:2024/05/14 04:04
STM32的IO口可以由软件配置成8种模式:
1,输入浮空
2,输入上拉
3,输入下拉
4,模拟输入
5,开漏输出
6,推挽输出
7,推挽复用功能
8,开漏复用功能
每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。
这里就是寄存器不能位操作
STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位/复位寄存器BSRR;一个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR;这里我们仅介绍常用 的几个寄存器,我们常用的IO端口寄存器只有4个:CRL、CRH、IDR、ODR。
STM32的CRL控制着每个IO端口(A~G)的低8位的模式。每个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。这里我们可以记住几个常用的配置,比如0X4表示模拟输入模式(ADC用)、0X3表示推挽输出模式(做输出口用,50M速率)、0X8表示上/下拉输入模式(做输入口用)、0XB表示复用输出(使用IO口的第二功能,50M速率)。
CRH的作用和CRL完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8位输出口。
IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。读出的值为对应IO口的状态。
ODR是一个端口输出数据寄存器,也只用了低16位。该寄存器虽然为可读写,但是从该寄存器读出来的数据都是0。只有写是有效的。其作用就是控制端口的输出。
在配置STM32外设的时候,任何时候都要先使能该外设的时钟!APB2ENR是APB2总线上的外设时钟使能寄存器
- STM32 IO口学习
- stm32 IO口初步学习
- 学习STM32(1)-IO-GPIO
- STM32笔记-IO口
- STM32的IO口
- STM32---IO口设置
- stm32学习之时钟和IO口配置
- stm32库函数IO口控制
- STM32的IO口配置
- STM32 IO口工作模式
- STM32学习笔记3-IO配置输入输出
- 今天学习一下STM32的ADC(模拟/数字转化器)——IO口配置
- 跟我学STM32107RC--- STM32八种IO口模式学习要点
- STM32的IO口的设置
- STM32八种IO口模式区别
- stm32 io 口配置和使用
- STM32 IO口翻转速度测试报告
- Stm32 IO口配置和使用
- [前沿]Mobile web application技术初探
- 内核模块多文件makefile
- zoj 2760 How Many Shortest Path
- jsp乱码问题的解决(引的)
- 哈工大英语协会2011秋季---招新海报
- STM32 IO口学习
- iBatis把一个表的sqlmap配置的多个xml中。
- 网卡的认识
- hql语句使用时,参数中包括日期的处理
- gridview结合Zedgraph使用用法
- ubuntu11.04编译安装nginx1.0.5
- mina例子
- Mysql 1067错误
- fork 与 vfork 的区别