Part Number:MSP430FR5738


P1.3 io口配置成输入模式,并且外部通过这种方式输入检测。上电后发现,会一直检测到低电平,而光耦是没有导通的。 必须光耦导通一次,输入才会判断正常。
在上电后测试输入电压,一直为高电平,但程序却判断一直为低。
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!
,
Cherry Zhou:
您好,请问P1IN 寄存器的值是多少?
,
tang su:
寄存器值如下:
外部用电阻拉高了,而且测出来的值也为3.3V 。但寄存器读取到的还是0啊
,
Cherry Zhou:
您好,工程师已经看过您的配置,是ok的。
上电并且在光耦合器工作后,您有没有测量过 PIN1.3 (靠近器件引脚) 的电压? 有什么不同吗?
建议您可以隔离光耦合器或将其移除,然后直接提供低电平或高电平电压,查看输入检测是否正常(或者在首次加电时不正常)。
,
tang su:
在上电并持续检测到低电平时,测量光耦与PIN1.3相连的引脚,测量电压为3.3V。
另外:1. 通过移除光耦,或R33上拉电阻,初测没有出现低电平检测现象。
2. 通过将R33 10k改成100k,出现问题频率降低。(之前是每次断电上电必出现。现在是100次左右会出现1-2次)
,
Cherry Zhou:
您好,您可以试下测试不同的上拉电阻器 (如 20K 30K 50K) 以查找规律。 光耦电路可能是造成该问题的原因。 万用表反映平均电压。
要了解更多详细信息,您可以通过示波器获取 PIN1.3 的波形。测试具有不同上拉电阻器的光耦,查看其波形。 应该会有一些不同。
,
Cherry Zhou:
tang su 说:在上电后测试输入电压,一直为高电平,但程序却判断一直为低。
您好,虽然未显示函数名称,但在发布的代码中,看起来是 main() 函数,但没有用于清除 PM5CTL0.LOCKLPM5 位的代码。 因此I/O 引脚可能被锁定。
MSP430FR57xx Family User's Guide (Rev. D)中建议 PxIN 寄存器在欠压事件中锁定其值,该事件可能发生在上电期间:
停止看门狗定时器的代码之后,您试下添加以下代码:
// Disable the GPIO power-on default high-impedance mode to activate// previously configured port settingsPM5CTL0 &= ~LOCKLPM5;
,
tang su:
我添加了这行代码测试,依然没有效果。另外,当我用万用表测试IO口是否为3.3V电压时,现象就消失了。
,
Cherry Zhou:
tang su 说:
1. 通过移除光耦,或R33上拉电阻,初测没有出现低电平检测现象。
2. 通过将R33 10k改成100k,出现问题频率降低。(之前是每次断电上电必出现。现在是100次左右会出现1-2次)
您好,请问有多少板子有这样的问题? 您有没有在不同的电路板之间进行交叉检查? 应该是输入引脚的外设电路的影响。 因为在您移除外设电路或直接上拉后,问题就消失了。
在上电时,以及当外设电路被移除或引脚被直接上拉时,您能提供下引脚电压的波形吗?
,
Cherry Zhou:
tang su 说:
P1.3 io口配置成输入模式,并且外部通过这种方式输入检测。上电后发现,会一直检测到低电平,而光耦是没有导通的。 必须光耦导通一次,输入才会判断正常。
在上电后测试输入电压,一直为高电平,但程序却判断一直为低。
您好,可能是MSP430FR5738 Microcontroller Errata (Rev. AG) 中描述的勘误表PORT26 :
建议您试下其中的解决方法。
,
tang su:
确实P1.4之前也是用的外部输入,也出现了类似的问题,后面P1.4 IO口进行了修改。结果P1.3后期也出现了批量的问题。
另外,我想问一下,是否其他IO 口也出现过类似的问题?我这边用到输入模式的IO口较多。
,
Cherry Zhou:
您好,
tang su 说:是否其他IO 口也出现过类似的问题?
其他引脚没有出现过类似问题。
,
tang su:
能否说明一下,是什么原因造成的P1.3和P1.4 这两个端口有问题吗?
,
Cherry Zhou:
好的,我帮您再向工程师确认下哈!
,
Cherry Zhou:
您好,该问题目前不是公开信息,很抱歉无法给您解答,敬请谅解!
,
tang su:
好的,谢谢你的帮助!
TI中文支持网





