TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430FR5969: 请问如何在UCA1上实现半双工UART-TTL通讯?

Part Number:MSP430FR5969

您好!

之前我用UCA1实现了和其他传感器实现RX TX收发数据。

但是现在一个新的传感器,只有一根总线,要求半双工通讯,9600,8,n,1.

电路中,我将单片机的P2.6 RXD MISO 接在传感器的通讯脚上。 TXD脚悬空。

第一次尝试:用原始代码发送数据,RXD立刻会中断收到数据,我无法理解TXD脚悬空,为何RXD会收到TXD缓冲区的数据呢?

我在想既然RXD能收到数据,传感器会不会也收到数据?不过好像没有回应。于是我发送时把接收中断禁止,发送完毕后再开接收中断,RXD就没有收到数据了,当然传感器似乎也没有收到。

请问如何改造成半双工通讯?

1. 将P2.6用IO口模拟发送和接收?

2. 将P2.6用IO口模拟发送,发送完毕后,P2SEL0和P2SEL1将它改为系统模块UART功能来接收数据?

3. 单片机天生支持半双工,只是我不会配置?

希望帮我解答一下,谢谢!

Daniel:

您好

已经收到了您的案例,调查需要些时间,感谢您的耐心等待

,

Alice:

您好,

      MSP430FR5969的UART是全双工模式,无法用作半双工模式。

,

user3641592:

好的,谢谢!

请问有没有用1个IO模拟 UART通讯的示例代码?

,

Alice:

您好,

      理论上来说,将MCU的RXD与TXD脚连接,同时设置TXD为高阻态,还具有一定的可行性。

      如果用IO口模拟UART,在发送时通过定时器控制I/O口电平,在接收时捕获I/O电平,然后通过软件解析。

     TI没有这样的示例,但您可以去网络上搜索一下类似的示例。     

,

user3641592:

好的,感谢您!

目前发现如果P2.5悬空(TXD),发送数据时,会触发中断收到刚刚发送的数据。难道悬空时,内部给自动回路了?

不知道是不是我的错觉。 我也打算将RXD和TXD短路试试。

刚刚试了模拟的IO口,有点点问题。有少数字节是错误的。

等我调试好了,分享给大家。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR5969: 请问如何在UCA1上实现半双工UART-TTL通讯?
分享到: 更多 (0)