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.

[参考译文] CC2652R7:UART数据记录问题

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1092970/cc2652r7-uart-data-logging-issue

部件号:CC2652R7

大家好,

我们正在尝试使用putty终端记录UART数据,因为我们在文本文件中保存时遇到一些数据记录格式问题,但PuTTY终端数据格式是正确的

我已附加 了UART 配置和 PuTTY终端的屏幕捕获文本文件 (数据格式问题)供您参考。 请就此帮助我们

/******** UART代码*********************** /

UART_HANDLE UART;
UART_Params uartParams;
UART_INIT();
UART_PARAM_INIT (&uartParams);
uartParams.writeDataMode = UART_DATA_binary;//UART_DATA_binary;
uartParams.readDataMode = UART_DATA_binary;
uartParams.baudrate = 9600;
uartParams.dataLength = UART_LEN_8;
uartParams.readEcho = UART_ECHO_OFF;

UART = UART_OPEN (CONFIG_UART_0,&uartParams);

IF (UART ==空){

同时(1);
}

我们已初始化缓冲区,如下所示

unsigned char recBuf[2005];  

char缓冲区[80];

/*逻辑将数据写入UART*/

对于(i=5,j=0;i<2005;i++,j++)

sprintf (buffer,"%x",recBuf[i]);
UART_WRITE (UART,缓冲区,大小(缓冲区));

}

e2e.ti.com/.../uart.txt

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

    你好,santhosh,

    按照目前的写法,每个UART_WRITE将向UART写入80字节,根据您的sprintf使用情况,这可能不是您的目的。  也许您应该使用特定的缓冲值(如BUFFER[i])来满足您的需求。  同时请记住,%x是小写十六进制代码的格式说明符,而UART_WRITE将执行逐字数据写入,终端将将该数据写入其ASCII表示。  此外,sprintf和UART_WRITE都在向UART缓冲区执行写入操作,这可能不是 您希望应用程序执行的操作。  考虑到这些因素,我认为最好是您通过代码进一步参考可用示例和步进调试,以便更好地了解UART通信的设计方式。  另请注意 ,UART驱动程序 在  2022年第二季度被淘汰并被UART 2取代。

    此致,
    Ryan