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.

[参考译文] MSP430FR6989:IrDA 发送显示了发送前两位的短脉冲。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1164105/msp430fr6989-irda-transmit-shows-short-pulses-for-first-two-bits-of-transmission

器件型号:MSP430FR6989

使用适用于 MSP430FR6989和 CCS 的 Launchpad 开发板与 TI 编译器配合使用。

我已经将 UCA0设置为115200bps IrDA 传输、并且看起来前几个脉冲比预期的3/16 BITCLK 短。 这仅适用于序列中第一个字节的前两位(START + LSB)、就在启用 UART (从复位状态中取出)之后。 如果 UART 被复位然后被启用、那么每个数据包开始都会有同样的问题。

设置代码:

UCA0IRCTL = 5*UCIRTXPL0 | UCIRTXCLK | UCIREN;   //启用 IrDA 脉冲宽度(3/16、UCIRTXPLx = 5)

如图所示、第一对夫妇脉冲比其余脉冲短(0.44us 与1.75us)。 这是 TXD 输出、位于 IR LED (未连接)之前。

我已经查看了勘误表、虽然有几个 SPI 模式问题需要注意、但我看不到任何描述。

看起来 IRCTL 寄存器的前几位似乎无法识别、但所有波特率和其他配置都是在启用 UART 之前完成的。

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

    您好!

    看起来 BITCLK16一开始就没有准备好。  它是否与波特率有关? 您可以尝试使用较低的波特率吗?  

    此致、

    现金 Hao

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

    进一步测试、我发现接收中断覆盖了 UCA0IRCTL、这是最可能的原因。 修复了几个其他问题、但在勘误表 USCI42中也被位(UCTXCPTIFG 未正确设置)、因此必须使用延迟应答来解决传输完成不足的问题。

    感谢您对下一个问题的回应! ;)