【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,重新编译源码烧录系统,即可实现双串口初始化
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具