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.

MSP430F4270UART 通信的问题

Other Parts Discussed in Thread: MSP430F4270

我用TI的官方例子,芯片是MSP430F4270 实现串通信,奇怪的是,电脑给单片机发送16进制的数 60 单片机再给电脑发回去收到的却是30 。

而TI的例子应该没有问题,(其实我很怀疑 有没有问题)我的板子也是没有问题(板子的电压我测过 没有问题),我就纳闷了,用示波器,看发送的波形,接受的是对的 发送的 就不正确了,真是纳闷,相当的奇怪。

我用示波器看的波形,确定没有问题。示波器,我,没有截图。

我已经把TI的官方程序的CM1 改成了CM1 ,但是还有问题,有没有哪位大神告诉我下,问题在哪,

既然收到了数据是发出数据的一半,也就是说移位有问题,但是TI的程序中移位并没有问题,不要说波特率的问题,

我的波特率是一致的。

在说说电脑发送的60 

60 二进制 0110 0000

串行通信 处理下就是 10  0000 0110

电脑发送的数据是      01  1111 1001 0

我在RXData 中看到的是 159 也就是 1001 1111 这个也是对的 但是发出去 收到的电脑收到的 0011 0000 变成了30 变成一半 真不知道问题在哪

  • 你的问题有几点没看懂:

    1. 电脑发送二进制的0x60, 处理下就是10-0000-0110, 这句话如何理解?

     PC发送0x60的话,一般格式是: 1-bit起始位+8-bit数据位+1-bit奇偶校验位+1-bit 停止位,按照这个格式,PC发出的波形

     应该是0-0000-0110-1(0)-1

    2. 电脑发出的数据是01-1111-1001-0,这句话如何理解?你是用示波器抓的信号出来?

     即使是抓的数据也不应该这样断句,应该是0-1111-1100-1-0,这样看来,你这个数据也是错的,应为起始位和停止位同时为0。

    3. RXD= 10011111,4270应该是用软件模拟的UART,你把完整的接收的数据发出来看下呢?

    4. 给你个建议,你不要发送0X60,发送0XAA或者0X55,然后把波形打出来,发上来看下。