This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] msp430FR5949:UART问题

Guru**** 2381490 points
Other Parts Discussed in Thread: MSP430I2041
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/663500/msp430fr5949-uart-issue

部件号:MSP430FR5949
主题中讨论的其他部件:MSP430I2041

您好,

 

我有一位客户的UART出现了特殊问题:

 

我需要有关传输完全中断标志含义的帮助吗?  我以前在MSP430i2041上使用过此工具,但没有已知问题。  我需要知道传输完成的时间,然后再继续下一个任务。

 

我复制了下面的手册措辞,并且在勘误表中发现了一些对我来说似乎没有意义的内容。 勘误表似乎描述了它应该如何工作…几乎,而不是描述损坏的东西。  我的意思是,在传输结束之前缓冲区显然是空的,所以描述对我来说没有任何意义。  我希望它告诉我停止位何时传输,这就是勘误表中所说的。

 

我正在循环传输一串字节,当最后一个字节结束时,我希望看到在我退出子例程之前已设置了此标志。  不过,这正是我所看到的。  (已附加)顶部迹线是在底部迹线(即A0 UART)之后传输的A1 UART。  但在我使用A0完成之前,A1似乎正在传输。

 

如果需要,我有客户代码。

 

此致,Blake  

 


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Blake,

    您似乎可以检查UCBUSY =1是否等待eUSI_A0完成传输,然后再在eUSI_A1上传输,只要eUSI_A0在传输后不会立即接收数据。 接收数据可能导致UCBUSY的设置时间超过预期。 否则,最好的选择可能是在设置UCTXCPTIFG后描述代码中的固定延迟。 下图在eUSI_A0 TX缓冲器中设置了三个字节,并等待UCTXCPTIFG设置。 它显示eUSI_A1在eUSI_A0的前一数据完成传输之前传输,如您所述。  
     

    选中UCBUSY =1会导致eUSSCI_A1在eUSSCI_A0完成传输后传输。
     

    在设置UCTXCPTIFG后,以下操作将实现2000周期延迟。
     

    此致,
    Ryan