Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7485

CC2650使用回调方式进行数据接收时执行一次后就进不去了,但其他功能还可以用。

$
0
0



void simple_uart_init()
{
UART_Params_init(&params);

params.readMode = UART_MODE_CALLBACK;
params.writeMode = UART_MODE_BLOCKING;
params.readTimeout = UART_WAIT_FOREVER;
params.writeTimeout = UART_WAIT_FOREVER;
params.readCallback = readCallback;
params.writeCallback = NULL;
params.readReturnMode = UART_RETURN_NEWLINE;
params.readDataMode = UART_DATA_TEXT;
params.writeDataMode = UART_DATA_TEXT;
params.readEcho = UART_ECHO_ON;
params.baudRate = 115200;
params.dataLength=UART_LEN_8;/*!< Data length is 8 bits */
params.stopBits=UART_STOP_ONE ;/*!< One stop bit */
params.parityType=UART_PAR_NONE;

handle = UART_open(Board_UART, &params);
UART_control(handle, UARTCC26XX_RETURN_PARTIAL_ENABLE, NULL);
UART_read(handle, rxBuffe, 20);
if (!handle) {
System_printf("UART did not open");
}

}
void simple_write(uint16_t hello[],uint16_t u)
{

UART_write(handle, hello, u);

}
void simple_read()
{

UART_read(handle, rxBuffe, length);
}

void readCallback(handle,rxBuffe, length)
{
//simple_write("\nUART started\n",13);
//simple_read();
//simple_write(rxBuffe,length);
// Enqueue the event.
SimpleBLECentral_enqueueMsg(SBC_UARTCMD_EVT, 0,0);

}
void SimpleBLECentral_processuartcmd()
{
Simple_Set_Led(Board_SIMPLE_LED_RED,LED_ON );
simple_write("\nUART started\n",13);
simple_read();
simple_write(rxBuffe,length);
}

我分析清楚了,现在是第一次能进去,以后就进不去了,但其他程序还可以运行,我觉得可能是什么标志位没能清掉,但不知道怎么弄,要怎么办呢?

请问有什么解决办法么?


Viewing all articles
Browse latest Browse all 7485

Trending Articles