MSP430 IO操作
Posted 八阿哥无BUG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSP430 IO操作相关的知识,希望对你有一定的参考价值。
这节我们来学习IO的操作,IO口怎么操作那,又可以实现什么。下面是IO的功能寄存器,我们可以看到,方向寄存器,输入输出寄存器和功能选择寄存器等。可以实现什么功能,比如说LED点灯,按键,中断,串口,IIC,SPI等功能的实现。
寄存器状态功能图
寄存器 | 状态 | 功能 |
---|---|---|
PxDIR | 1 | 输入 |
PxIN | 1 | 高电平 |
PxOUT | 1 | 输出高电平 |
PxREN | 1 | 上下拉使能 上下拉决定于PxOUT(见下表) |
PxSEL/PxSEL2 | 00/10/01/11 | 普通IO/外围模块/保留/第二功能 |
PxIE | 1 | 允许该引脚中断 |
PxIES | 1 | 下降沿触发 |
PxIFG | 1 | 引脚有终端请求 |
PxREN与PxOUT对应关系
PxDIR | PxREN | PxOUT | IO电平 |
---|---|---|---|
1 | 1 | 1 | 上拉 |
1 | 1 | 0 | 下拉 |
1 | 0 | 1 | 输出高 |
1 | 0 | 0 | 输出低 |
0 | 1 | 1 | 上拉 |
0 | 1 | 0 | 下拉 |
0 | 0 | X | 高阻 |
点灯代码如下
P4DIR |= BIT7;//配置P10引脚为输出
P4OUT =BIT7; //配置P10引脚为高电平
按键代码如下,在上面点灯的基础之上加上按键控制
P4DIR |= BIT7;//配置P10引脚为输出
while(1)
P4OUT ^=BIT7; //每次执行使P10的引脚状态反转
delay(10);//延时函数大家可以自己写个简单的循环延时
while((P2IN&BIT1));//使用P1IN输入寄存器读取BIT1的电平状态
到这里我们就实现的IO的输入输出功能,在下次实验中我们会使用中断来实现这次的功能。
以上是关于MSP430 IO操作的主要内容,如果未能解决你的问题,请参考以下文章