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