TI中文支持网
TI专业的中文技术问题搜集分享网站

使用MSP430时关于PXIN等寄存器的一些问题

  老师您好,我是一名使用过430的学生,因为身边没有人精通430,所以一直有一些困惑没有解决,特向您请教,谢谢。
  最大的疑惑是关于430F5529过程中关于PXIN寄存器问题,是否只有设置PXDIR为输入方向时才可以读取,否则为不可读取状态,还有,有时候想读取整个PX端口的状态,可是有的设置为了输入还有的设置为了输出,如何保证读取的为有效值。这一点在本次电子设计大赛使用矩阵键盘时给我们带来了很大的困扰。
  其次是关于PXREN寄存器问题,是否设置为输出方向时一定要设置PXREN,曾经做过类似实验,如果不设置PXREN,他会一直保持着最初的不变,可要是再想读取这个管脚状态时,是一定设置回输入么。
  谢谢老师,如能回答,不胜感激
灰小子:

IO 口寄存器列表。
寄存器名                    寄存器功能                      读写类型                          复位初始值
PxIN                         Px 口输入寄存器               只读                                 无
PxOUT                     Px 口输出寄存器               可读可写                         保持不变
PxDIR                      Px 口方向寄存器               可读可写                         0(全部输入)
PxSEL                     Px 口第二功能选择           可读可写                         0(全部为IO 口)
PxIE                         Px口中断允许                    可读可写                         0(全部不允许中断)
PxIES                      Px口中断沿选择                可读可写                         保持不变
PxIFG                      Px口中断标志位                可读可写                         0(全部未发生中断)
PxREN                    Px口上下拉电阻使能位    

更详细的介绍,可以参考MSP430x5xx Family User’s Guide.

Maka Luo:

您好!

首先建议仔细阅读TI MSP430X5XXX系列用户手册,里面会有非常详细寄存器说明。 

1.对GPIO操作,首先得配置GPIO方向(PXDIR),然后方能读写PXIN or PXOUT. 如不配置,则GPIO是初始化状态。

2. 对于读取回来的值处理的问题,可以将值对应设置输入位与1,其它与0,那样就取到需要的值;

3.PXREN 上下拉使能位,这个没有强制性,取决于硬件电路需要。

4. 如果想读取这个某个GPIO状态,当然先需要设置此GPIO为输入状态,否则没有意义。 

WenQiiang LI:

回复 Maka Luo:

老师您好,我好像懂了我所出现的问题了,是因为PXREN寄存器以及上下拉电阻的配置问题,当调整为输入状态并且不动其他寄存器的话,默认为高阻态,所以会出现我的种种问题,也就是说,如果调整为输入时,一定要配置好上下拉电阻才能正常使用是么,谢谢老师,还有如果方便的话,能否告诉我,假如我配置成了输入上拉电阻,那么开始该IO口是高电平,之后随着外界变化而变化是么。

谢谢,不胜感激。

Maka Luo:

回复 WenQiiang LI:

理论上应该是外部输入信号输入电平,内部上下拉应该不影响这个输入信号方可以。

但是上电过程中,存在上电先后的问题,即MCU和外部电路。取决于应用电路设计。

赞(0)
未经允许不得转载:TI中文支持网 » 使用MSP430时关于PXIN等寄存器的一些问题
分享到: 更多 (0)