中级会员
- 积分
- 254
- 金钱
- 254
- 注册时间
- 2019-8-8
- 在线时间
- 83 小时
|
10金钱
请高手解决下,问题描述:
使用iot的例程21_iot_mbedtls 与结合uart2 dma接收例子,他们单独能正常运行,但是发现把他们结合起来,uart2配置
/* 设置接收回调函数 */
rt_device_set_rx_indicate(serial, uart_input)后,
mbedtls连接网络总是连接成功后握手函数mbedtls_ssl_handshake总是报错,去掉这一行语句就mbedtls连接网络就正常,不知道如何解,能否解答一下。
主要部分代码:
/* 初始化 wlan 自动连接功能 */
wlan_autoconnect_init();
/* 使能 wlan 自动连接功能 */
rt_wlan_config_autoreconnect(RT_TRUE);
/* 创建 'net_ready' 信号量 */
result = rt_sem_init(&net_ready, "net_ready", 0, RT_IPC_FLAG_FIFO);
if (result != RT_EOK)
{
return -RT_ERROR;
}
/* 注册 wlan 连接网络成功的回调,wlan 连接网络成功后释放 'net_ready' 信号量 */
rt_wlan_register_event_handler(RT_WLAN_EVT_READY, wlan_ready_handler, RT_NULL);
/* 注册 wlan 网络断开连接的回调 */
rt_wlan_register_event_handler(RT_WLAN_EVT_STA_DISCONNECTED, wlan_station_disconnect_handler, RT_NULL);
/* 查找串口设备 */
serial = rt_device_find("UART2"); //设置UART2最高优先级:0,大于UART1(优先级:2),才能正确接收到数据
if (!serial)
{
while(1)
{
LOG_E("find uart2 device failed!\n");
}
}
else
{
LOG_E("find uart2 device successed!\n");
/* 以 DMA 接收及轮询发送方式打开串口设备 */
rt_device_open(serial, RT_DEVICE_FLAG_DMA_RX);
/* 设置接收回调函数 */
rt_device_set_rx_indicate(serial, uart_input); //这一行代码,与下面执行mbedtls_ssl_handshake冲突,不知道为什么
}
mbedtls_client_start();//创建线程,iot上例子example下21_iot_mbedtls
谢谢!
|
|