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.

[参考译文] LAUNCHXL-CC1312R1:TI CC1312R1上的 UART2_READ

Guru**** 2468460 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1466923/launchxl-cc1312r1-uart2_read-on-ti-cc1312r1

器件型号:LAUNCHXL-CC1312R1

工具与软件:

您好、E2E 专家、

你好。

我正在尝试使用 UART 向 TI CC 1312R1发送一条消息。 我从 uart2echo.c 开始、写入似乎有效。 在读取方面,设备会阻止 UART2_READ()函数。 增加了一个开关

uartParams.readMode =  UART2_Mode_Blocking

它不会再阻塞、但即使进入引脚的是连续数据、也不会填充缓冲器。  

我对引脚配置进行了三次检查(如果我使用的电线不起作用)、然后通过数小时的论坛搜索找到解决方案。

中的代码基于 part2echo 示例。  

#include  

#include  

#include  

#include  

 

/*驱动程序头文件*/

#include  

#include  

 

/*驱动程序配置*/

#include  "TI_DRIVERS_CONFIG.h"

 

/*

*====   mainThread ====

*/

 

空洞  * mainThread ( 空洞  * arg0)

   字符  有效载荷[30];

   UART2_Handle UART;

   UART2_Params uartParams 

   size_t bytesRead;

   size_t bytesWriten = 0;

   uint32_t status     = UART2_STATUS_SUCCESS;

 

   /*调用驱动程序 初始化 函数*/

   GPIO_init ();

 

   /*配置 LED 引脚*/

   GPIO_setConfig (CONFIG_GPIO_GLED、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

   GPIO_setConfig (CONFIG_GPIO_RLED、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

 

   /*创建一个 UART、其中默认的读写模式处于阻塞*/

   UART2_Params_init (&uartParams);

   uartParams.baudrate  = 115200;

   uartParams.writeMode =  UART2_Mode_Blocking

   uartParams.readMode =  UART2_Mode_Blocking

   uartParams.dataLength =  UART2_DataLen_8

   uartParams.stopbits =  UART2_STOPBITS_1

   uartParams.parityType = UART2_Parity_none 

 

   UART=  UART2_OPEN (CONFIG_UART2_0、&uartParams);

 

   如果  (UART = NULL)

   

     GPIO_TOGGLE (CONFIG_GPIO_RLED);

     /* UART2_open()失败*/

     while  (1){}

   }

 

   UART2_rxEnable (UART);

 

   /*打开用户 LED 以指示初始化成功*/

 

   常量  字符  就绪[]="ready\n" 

   UART2_WRITE (UART、READY、  大小 (就绪)、NULL);

 

   /*循环永远回显*/

   while  (1)

   

     memset (有效载荷、0、30);

     状态=  UART2_READ (UART、有效载荷、  大小 (有效载荷)、NULL);

     如果  (status!= UART2_STATUS_SUCCESS){

       GPIO_TOGGLE (CONFIG_GPIO_RLED);

     }

     GPIO_TOGGLE (CONFIG_GPIO_GLED);

     UART2_WRITE (UART、有效载荷、  大小 (有效载荷)、NULL);

 

     睡眠 (1);

   }

}

如果有任何帮助、将不胜感激。  

此致、

TICSC