cc2541 uart接收
CC2541通过uart发向PC端可以通过串口助手看到数据,PC端发向cc2541没反应,uart的接收回调函数也没有执行到。
/*uart初始化代码,配置串口的波特率、流控制等*/
void serialAppInitTransport( )
{
halUARTCfg_t uartConfig;
// configure UART
uartConfig.configured = TRUE;
uartConfig.baudRate = SBP_UART_BR;//波特率
uartConfig.flowControl = SBP_UART_FC;//流控制
uartConfig.flowControlThreshold = SBP_UART_FC_THRESHOLD;//流控制阈值,当开启flowControl时,该设置有效
uartConfig.rx.maxBufSize = SBP_UART_RX_BUF_SIZE;//uart接收缓冲区大小
uartConfig.tx.maxBufSize = SBP_UART_TX_BUF_SIZE;//uart发送缓冲区大小
uartConfig.idleTimeout = SBP_UART_IDLE_TIMEOUT;
uartConfig.intEnable = SBP_UART_INT_ENABLE;//是否开启中断
uartConfig.callBackFunc = sbpSerialAppCallback;//uart接收回调函数,在该函数中读取可用uart数据
// start UART
// Note: Assumes no issue opening UART port.
(void)HalUARTOpen( SBP_UART_PORT, &uartConfig );
return;
}
uint16 numBytes;
/*uart接收回调函数*/
void sbpSerialAppCallback(uint8 port, uint8 event)
{
uint8 pktBuffer[SBP_UART_RX_BUF_SIZE];
// unused input parameter; PC-Lint error 715.
(void)event;
//int i=0;
//for(i=6000;i>0;i--)
// asm("nop");
//P1_1=0;
//返回可读的字节
if ( (numBytes = Hal_UART_RxBufLen(port)) > 0 ){
//读取全部有效的数据,这里可以一个一个读取,以解析特定的命令
(void)HalUARTRead (port, pktBuffer, numBytes);
//接收到数据后,输出到LCD显示。
HalLcdWriteString(pktBuffer,HAL_LCD_LINE_6);
//SerialPrintString(pktBuffer);
}
else
{
int8 TxData[4];
TxData[0]=0xF2;
TxData[1]=0xF2;
TxData[2]=0xF2;
TxData[3]=0xF2;;
//SerialPrintString(TxData);
}
// HalLcdWriteString(pktBuffer,HAL_LCD_LINE_6);
}
rxbuffer一直为0,
这个文件是自己修改的吗
自己加了控制管脚
刚接触BLE看了guide,完全不知道所云,你这个是在哪个文件里修改的?