> 文档中心 > 【OpenHarmony设备开发】Hi3861V100最小化系统如何开启双串口同时通信

【OpenHarmony设备开发】Hi3861V100最小化系统如何开启双串口同时通信

 【问题背景】

Hi3861V100最小系统开发时,无法同时初始化两个串口,同时只能初始化完成一个串口

ret1 = hi_uart_init(HI_UART_IDX_1, &g_uart2_cfg,NULL);//先初始化的可以成功

ret2 = hi_uart_init(HI_UART_IDX_2, &g_uart2_cfg,NULL);//后初始化的会失败

【问题原因】

添加log,发现是uart_open时create_event失败,返回80000241,显示没有可用的event。源码中hi_event_init(APP_INIT_EVENT_NUM, HI_NULL); APP_INIT_EVENT_NUM的默认值是4,初始化的时候只初始化了4个event,因此只够1个UART初始化,将APP_INIT_EVENT_NUM改大后就可以解决初始化的问题。

【解决方法】

源码地址:

hi3861v100/sdk_liteos/app/wifiiot_app/src/app_main.c · OpenHarmony/device_soc_hisilicon - Gitee.com

将源码中第74行APP_INIT_EVENT_NUM 默认值修改成7,重新编译源码烧录系统,即可实现双串口初始化

cke_450.png

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

医疗百科