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.

[参考译文] CC1352R:为什么 UART Rx 引脚具有与发送的 Tx 引脚相同的数据

Guru**** 2539500 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/949376/cc1352r-why-the-uart-rx-pin-has-the-same-data-as-the-tx-pin-transmitted

器件型号:CC1352R

我选择 UART0作为 通用 UART 端口、将 DIO24作为 Tx、将 DIO25作为 Rx、然后按如下方式初始化 UART0:

/*创建一个数据处理关闭的 UART。 *
UART_PARAMS_INIT (uartParams);
uartParams.readTimeout = read_timeout * 1000;
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.parityType = UART_PAR_even;
uartParams.baudrate = 9600;


bslUart = UART_open (CONFIG_UART_0、uartParams);

if (bslUart =NULL){
/* UART_open()失败*/
while (1);
} 

然后我 分别将 Tx 引脚和 Rx 引脚连接到两个 PC 串行 COM 端口 Rx 引脚、我发现两个 PC 串行端口可以获得与传输的 UART0相同的数据、原因是什么?

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

    您好、Siyou、

    您能否详细说明您已经完成的确切设置(包括在软件和硬件中)、如果可能、还可以使用图片。  

    根据您的描述、似乎您设法在连接中创建了 TX/RX 环路。  

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

    UART 初始化之后、调用以下代码通过 UART0发送数据缓冲区:

    uint8_t TxBslVersion[6]={0x80、0x01、0x00、0x19、0xE8、 0x62};
    
    void UART_SendByteArray (uint8_t * byteArray、uint16_t size)
    {
    UART_write (bslUart、byteArray、size);
    }
    
    UART_SendByteArray (TxBslVersion、sizeof (TxBslVersion)); 

    然后、我将 UART0 Tx 连接到 PC COM4、将 Rx 引脚连接到 COM45、将 PC 串行工具设置为9600、8、1、偶数、无。

    您可以发现两个串行端口都可以获得 UART0传输的数据:

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

    您好、Siyou、

    我建议使用监听器来检查线路、而不是这种方法、如果不仅是为了排除 PC 端的驱动程序冲突。  

    您应该考虑的另一个观察结果是、UART RX 不是输出、它不会驱动任何东西、因此除非您的电路板上碰巧发生了两个短路、否则我建议查看 PC 端。 一个良好的初始测试是简单地测量 RX/TX 之间的电阻(不连接串行转换器)。  

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

    您好、M-W、

    为什么我检查 Rx 引脚作为输出、是 UART 可以接收它发送的数据。

     您对监听器的看法是什么、通过 示波器捕获波形?

    我测量  了 Rx 和 Tx 之间的电阻、结果为31.5Ω Ω

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

    Siyou、

    是的、请使用示波器或逻辑分析仪捕获它。

    对于电阻、31.5欧姆提示您在连接(或定制板)中以某种方式桥接 RX/TX、这将解释 TX "泄漏"到 RX。 我建议您检查您的硬件、看看 TX 和 RX 之间是否存在潜在的短路或电桥。