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

调用UART_read 无法被其他 ble central 设备连接

$
0
0

工程是在 2.21协议栈的simple peripheral的基础是建立的,添加一个uart task用于处理串口信息,任务优先级为1,在任务初始化中的代码如下:

UART_init();
UART_Params_init(&UartParams);

UartParams.baudRate = 115200;//115200;

UartParams.readDataMode = UART_DATA_BINARY;
UartParams.writeDataMode = UART_DATA_BINARY;
UartParams.readCallback = UartRcvDoneCb;
UartParams.readMode = UART_MODE_CALLBACK;

UartParams.writeCallback = UartSendDoneCb;
UartParams.writeMode = UART_MODE_CALLBACK;

UartParams.readEcho = UART_ECHO_OFF;

UartHdl = UART_open(0, &UartParams);

//Enable Partial Reads on all subsequent UART_read()
UART_control(UartHdl, UARTCC26XX_RETURN_PARTIAL_ENABLE, NULL);

UART_read(UartHdl, UartRcvBuff, UART_ONCE_RECEIVE_DATA_BYTE_MAX);//start a uart read

现象是,无法连接上手机,但是有意思的是,如果事先把模块的Rx引脚和其它设备的Tx引脚用杜邦线连接,这样就一切工作正常,可顺利连接,当把Rx和其它模块的Tx断开,这时蓝牙连接会立即断开。

另外一种情况是,如果把初始化中的UART_read给取消,这时,不用给Rx引脚连接任何外部引脚,直接悬空,就可以用其它手机正常连接,而且连接很稳定,不知哪位大神可以帮我解决一下这个问题,不胜感激,


Viewing all articles
Browse latest Browse all 7534

Trending Articles