灰小子:
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和外部电路。取决于应用电路设计。