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.

[参考译文] MSP430FR5994:MSP430FR5994数据接收过程处于轮询模式下中断模式

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1237771/msp430fr5994-msp430fr5994-data-receiving-process-in-polling-mode-in-interrupt-mode

器件型号:MSP430FR5994

大家好、团队成员:

   我想问一下 UART 接收缓冲区。 如果我通过其他芯片与 MSP430FR5994建立 UART 连接、

当其他芯片同时向 MSP430发送8个字节的数据时、这8个字节会同时到达 UART 接收端口。 ,

UART 接收端口如何接收这些数据、因为 UART 接收缓冲区 SFR_16BIT (UCA1RXBUF)只能存储最多2个字节、

剩余的6个字节是否会丢失?   

(__LW_AT__1 μ s)MSP430 UART 采用中断方式进行接收、当8个字节的数据同时到达时、

每次一个字节到达时、就会触发一次中断、重复输入8次中断、并完全读取数据

(__LW_AT__2 μ s)使用轮询方法读取8个字节的数据、8个字节的数据会同时到达 UART 接收端口。 这些数据是如何传输到接收缓冲区的? 有这样一个动态图吗? 我真的不太了解中断模式和轮询模式、数据传输的过程、希望得到您的详细回复、谢谢。

MSP430FR5994无法设置数据缓冲区大小、它如何存储读取的多个字节是数据

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

    并不是所有数据都同时到达。 根据特定的配置(停止位、奇偶校验)、在接收到每个字节之间大约有10位时间。 在下一个字节到达之前读取 RXBUF、一切顺利。 等待时间过长、溢出标志将被置位、因为数据丢失了。

    哦、虽然 RXBUF 是16位寄存器、但高8位未使用。 只传输一个字节的数据。

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

    可以使用环形缓冲区来存储传入的数据并使其可供主循环使用。

    http://www.simplyembedded.org/tutorials/interrupt-free-ring-buffer/