你好
我正在尝试使用 eUSCI 模块和 RS485收发器通过 MSP430实现 RS485接口。
我注意到了 UCTXCPT 标志/中断的一个意外操作、以及 MSP430i20xx 用户指南中的一些奇怪的措辞。 (SLAU335A 2020年9月修订)
1) 1)用户指南中的措辞问题:
在表10-18中的"10.4.11 UCAxIFG 寄存器"下
"UCTXCPTIFG"的描述如下:
"发送就绪中断使能。 当整个字节接收到数据包时、UCTXRDYIFG
内部移位寄存器被移出并且 UCAxTXBUF 为空。"
我在假定中正确吗、它应该为:"发送完成中断标志。 UCTXCPTIFG 被置位... "?
2)异常行为:
我正在尝试使用 eUSCI 模块和 RS485收发器通过 MSP430实现 RS485接口。
收发器可通过引脚 P1.1切换至接收(低)或发送(高)模式。
目前我正在使用 UCTXIFG 标志/中断来调用函数、这个函数将数据载入 UCAxTXBUF。
在数据的最后一个字节被载入 UCAxTXBUF 后、中断使能接收从 UCTXIE 更改为 UCTXCPTIE。
目的是、eUSCI 模块的下一个中断是"传输完成中断"。 当 UART 已发送完整字节时、应设置该中断。
然后、中断将停用 RS485收发器(P1.1 =低电平)、然后将自身设置回 UCRXIE、其中 MSP 将等待下一条接收到的消息。
我注意到的 howerver 是 UCTXIFG 提前设置的。 因此、P1.1也设置为零、这会导致发送最后一个字节几乎完全丢失
这是否是已知的硬件错误? 或者我对这个光环标记的不认识是错的吗?
如有必要、我可以稍后提供更简单的代码
感谢您的观看、
此致、MN。