ARM 关于PINSEL的解释
2015-11-30 11:28
316 查看
RM LPC2131 关于PINSEL的解释
概念:引脚连接模块通过配置寄存器控制多路开关,来连接引脚与片内外设;(P0.1/RXD0/PWM3/EINT0)
用途:引脚连接模块的用途是将引脚配置为需要的功能,可实现独立的引脚配置;
应用:引脚选择寄存器PINSEL0、PINSEL1的复位值都是0x00000000;具体设置需要参照配置表
PINSEL0总共32位,2个一组(暗含取值范围00
- 11,例如P0.1/RXD0/PWM3/EINT0四个功能通过00/01/10/11来选择),从P0.0到P0.15;
PINSEL0总共32位,2个一组(暗含取值范围00
- 11),从P0.0到P0.15;
PINSEL1总共32位,2个一组,从P0.16到P0.31;
单独将PINSEL2列出,是因为它比较特殊,因为对它的使用需要用“读 - 修改 - 写”的方法来访问。
注解:对位0
~ 2和/或位3的意外写操作,会造成调试和/或跟踪功能的丢失。
位 复位值 描 述
1:0 00 保留,用户不得向其写入1
2 该位为0时,P1.36
: 26用作GPIO; P1.26(有个上划线,表示低电平)
该位为1时,P1.36
: 26用作一个调试端口; TRACE(有个上划线,表示低电平)
3 该位为0时,P1.25
: 16用作GPIO; P1.20(有个上划线,表示低电平)
该位为1时,P1.25
: 16用作一个跟踪端口; TRACESYNC(有个上划线,表示低电平)
31 :4 保留
一般在设置引脚的功能时,为了不影响其它的引脚都采用“读取 - 修改 – 回写”的方式进行,即先读取寄存器值,然后进行逻辑“与”、“或”操作,再回写到此寄存器。
如将P0.8、P0.9设置为TxD1、RxD1功能(P0.8、P0.9均对应2位,故其应为17:16、19:18)
PINSEL0 = ( PINSEL0 & 0xFFF0FFFF ) | ( 0x05
<< 16 ); //一次性设置完2个引脚,对应值
这里0对应的16-19 位 //需要参照寄存器功能表
常见的,在选用PINSEL2,使得P1[25:16]引脚连接GPIO时,设置如下:
PINSEL2
= PINSEL2 & ( ~ 0x08 ); //就是将PINSEL2选择寄存器2的第3位设置为0
概念:引脚连接模块通过配置寄存器控制多路开关,来连接引脚与片内外设;(P0.1/RXD0/PWM3/EINT0)
用途:引脚连接模块的用途是将引脚配置为需要的功能,可实现独立的引脚配置;
应用:引脚选择寄存器PINSEL0、PINSEL1的复位值都是0x00000000;具体设置需要参照配置表
PINSEL0总共32位,2个一组(暗含取值范围00
- 11,例如P0.1/RXD0/PWM3/EINT0四个功能通过00/01/10/11来选择),从P0.0到P0.15;
PINSEL0总共32位,2个一组(暗含取值范围00
- 11),从P0.0到P0.15;
PINSEL1总共32位,2个一组,从P0.16到P0.31;
单独将PINSEL2列出,是因为它比较特殊,因为对它的使用需要用“读 - 修改 - 写”的方法来访问。
注解:对位0
~ 2和/或位3的意外写操作,会造成调试和/或跟踪功能的丢失。
位 复位值 描 述
1:0 00 保留,用户不得向其写入1
2 该位为0时,P1.36
: 26用作GPIO; P1.26(有个上划线,表示低电平)
该位为1时,P1.36
: 26用作一个调试端口; TRACE(有个上划线,表示低电平)
3 该位为0时,P1.25
: 16用作GPIO; P1.20(有个上划线,表示低电平)
该位为1时,P1.25
: 16用作一个跟踪端口; TRACESYNC(有个上划线,表示低电平)
31 :4 保留
一般在设置引脚的功能时,为了不影响其它的引脚都采用“读取 - 修改 – 回写”的方式进行,即先读取寄存器值,然后进行逻辑“与”、“或”操作,再回写到此寄存器。
如将P0.8、P0.9设置为TxD1、RxD1功能(P0.8、P0.9均对应2位,故其应为17:16、19:18)
PINSEL0 = ( PINSEL0 & 0xFFF0FFFF ) | ( 0x05
<< 16 ); //一次性设置完2个引脚,对应值
这里0对应的16-19 位 //需要参照寄存器功能表
常见的,在选用PINSEL2,使得P1[25:16]引脚连接GPIO时,设置如下:
PINSEL2
= PINSEL2 & ( ~ 0x08 ); //就是将PINSEL2选择寄存器2的第3位设置为0
相关文章推荐
- absolute的left和right的妙用
- urllib
- div css 多行文本 最后一行自动显示省略号
- IOS学习之 网络编程(5)--多线程断点下载
- android:configChanges="orientation|keyboardHidden"的使用
- DeepID人脸识别算法之三代
- extjs的级联展开
- java 算法(1)-有序数组
- 漫谈程序员(九)版本命名规范
- ThinkPHP3.2如何设置404跳转页面
- playmaker学习
- 判断App整体处于前台还是后台
- js获取图片真实大小
- 漫谈程序员(九)版本命名规范
- iOS平台sqlite数据库的使用-King
- BSP and Web Dynpro
- QThread中的互斥、读写锁、信号量、条件变量
- linux命令
- 使用android support library中的tablayout实现页签切换效果出现的问题
- ldd