Part Number:MSP430F5342
当不使用外部晶振。只使用内部REFO作为系统时钟源 , ACLK=32.768K, SMCLK=1M。UART在哪种休眠状态下能自动被唤醒? LPM0还是LPM2, 希望LPM3模式下接收到UART数据也能自动唤醒。
Yale Li:
哪种低功耗模式都可以,因为UART模块的时钟有自动激活功能:
,
?? ?:
但是实际测试发现,如果用SMCLK作为UART时钟源, 只有在ACTIVE和LPM1的模式下才能收到正确的字符。 而在LPM3模式下,休眠后收到字符是错误的,比如应该收到0x23,但实际收到是0xF2. 波特率是9600的。 是不是因为F5342 在LPM3模式下的SMCLK是停止的原因,唤醒后SMCLK来不及收全字符?
,
Yale Li:
https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1203563/msp430fr2433-problem-with-uart-in-low-power-the-clock-takes-too-much-time-to-stabilize-frequency
看一下这个帖子是否有帮助
,
?? ?:
谢谢回复,目前看那个和我现在使用的方法不太一样,还没找到原因或解决办法
,
Yale Li:
你的推测是有可能的。
把UART的时钟换成ACLK试一下。
,
?? ?:
谢谢回复,将UART的时钟换成ACLK(32.768K)试过,但仅能在2400bps及以下能正常接收数据。9600bps收的字符也不正确,看手册好像是在32.768K情况下下产生9600bps的误码率太高。 目前看样子,还没有好的办法,能确保9600bps条件下的LPM3模式正常运行 (既能收发数据正常,又能很低功耗),不知还有更好的方法没。
,
Yale Li:
我咨询一下相关的工程师
,
?? ?:
谢谢
,
Yale Li:
客气了,请留意下方链接:
https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1280323/msp430f5342-activate-uart-from-lpm3