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.

[参考译文] 编译器/MSP430AFE221:MSP430的新功能,编码,Plz帮助

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/574320/compiler-msp430afe221-new-to-msp430-coding-plz-help

部件号:MSP430AFE221

工具/软件:TI C/C++编译器

我是MSP 430编程的新手。 我正在浏览源代码,在这里我找到了这一行代码。

 同时(!(UC1IFG&UCA1TXIFG));

在这里,UC1IFG是寄存器,UCA1TXIFG是单位。 我们如何执行和操作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    UC1IFG是寄存器,UCA1TXIFG是位。 只要UCA1TXIFG中未设置UCA1TXIFG,或者换言之,该指令就会执行循环:等待UCA1TXIFG设置完成。 设置此位后,传输缓冲区即可接受下一个字节。 因此,此指令只是等待,直到您可以将另一个字节放入传输缓冲区。 这是必要的,否则将覆盖缓冲区中的现有字节。 您还可以在设置UCA1TXIFG时生成中断,而不是轮询。 然后,您可以在ISR中将下一个字节复制到传输缓冲区。 当然,while循环会短暂暂停程序流,但这并不意味着您不能这样做-这取决于应用程序。