概述
【问题背景】
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,重新编译源码烧录系统,即可实现双串口初始化
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
最后
以上就是自然鞋子为你收集整理的【OpenHarmony设备开发】Hi3861V100最小化系统如何开启双串口同时通信的全部内容,希望文章能够帮你解决【OpenHarmony设备开发】Hi3861V100最小化系统如何开启双串口同时通信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复