问题:MSP430 的 USART 无法达到 USART控制寄存器所设置的预期的效果
解答:MSP430 的 USART 模块是一个状态机,每次 USART 的配置被重新设置后,必须复位才有效。这可以通过设置 UCTL 寄存器中的 SWRST位的设置/复位顺序来实现。
在上电复位时,SWRST 位是默认置位的。如果上电复位后第一次通过配置控制寄存器USART 模块参数,那么,必须最后配置 UCTL 寄存器,这样,SWRST 就被复位从而使用定义的设置来启动状态机。这可以通过汇编语言 MOV.B #000XXXX0B,&UCTL 和 C语言 UCTL = 0b000X XXX0 来实现。请参阅器件用户指南和代码示例。
如果 USART 模块在固件中被重配置,这样一来,SWRST 位的置位/复位顺序必须在重配置之后进行,以便用新的配置来重启SART 的状态机。
[ 本帖最后由 qui26 于 2012-7-15 05:27 编辑 ]
|