请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2541 您好!
我正在尝试通过 UART 与 Arduino 通信。 我想从 Arduino 读取一些值并将其发送到 CC2541。
我已经了解了 TIWiki 中的许多示例代码、但当我尝试开发自己的代码时、它不起作用。
我真的不知道我做了什么、这是因为代码、除了我直接使用 hal_UART、基本上是相同的:
void SerialInterface_Init( uint8 task_id )
{
serialInterface_TaskID = task_id;
//配置 UART 和寄存器回调函
数 halUARTCfg_t uartConfig;
//配置 UART
uartConfig.configured = true;
uartConfig.波特 率 = HAL_UART_BR_9600;
uartConfig.FlowControl = false;
uartConfig.flowControlThreshold = UART_FC_threshold;
uartConfig.Rx.maxBufSize = UART_RX_BUF_SIZE;
uartConfig.TX.maxBufSize = UART_TX_BUF_SIZE;
uartConfig.idleTimeout = UART_IDLE_TIMEOUT;
uartConfig.intEnable = UART_INT_ENABLE;
uartConfig.callBackFunc =(halUARTCBack_t) cSerialPacketParser;
//启动 UART
//注意:假定打开 UART 端口没有问题。
HalUARTOpen (UART_PORT,&uartConfig);
}
//用于获取 UART 数据
的回调函数 void cSerialPacketParser (uint8端口,uint8事件)
{
uint8 bytesLeft= NPI_RxBufLen ();
uint8 totalBytes = bytesbut;
//alloc_toc_ategetf
(*)
//获取缓冲区
HalUARTRead (UART_PORT、temp_Buf、totalBytes);
for (int i=0;i< totalBytes;i++)
printf (temp_buf[i]);
OSAL_mem_free (temp_Buf);
}
结果是、尽管我仔细检查 Arduino 正在传输、但它不会读取任何内容。
谢谢!