请选择 进入手机版 | 继续访问电脑版
  • Lv0
    粉丝0

积分15 / 贡献0

提问2答案被采纳0文章0

作者动态

napi如何控制底层驱动? 精华

zhaozhaozhao 显示全部楼层 发表于 2024-8-26 22:50:10

我发现在napi下可以用c语言的open和write对dev下和/sys/class/gpio/gpioX,那么如果是我在内核中写入了一个gpio的hdf驱动,使用了dispatch,那么我如何使用napi去调用该hdf驱动,进而对gpio进行电平和其他操作呢?

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论9

鸿蒙小语哥

沙发 发表于 2024-8-30 14:47:30
OpenHarmony中没有提供调用gpio驱动接口的napi,大概思路差不多是client->proxy->stub->service
您可以参考以下几篇文章:

1、https://blog.csdn.net/Devlin_/article/details/139681680
2、https://blog.51cto.com/harmonyos/5297506
3、https://gitee.com/openharmony/do ... opment-guideline.md
4、https://gitee.com/openharmony-dg ... cpp?login=from_csdn

fengyunrenwu

板凳 发表于 2024-9-2 09:27:57
napi不允许访问内核驱动的噢~

深开鸿_王石

地板 发表于 2024-9-2 10:50:26
api 12 开始加ddk了,估计后面会有gpio的ddk了,参考 : https://docs.openharmony.cn/page ... nt-kit/_base_ddk.md

5# 发表于 2024-9-2 11:55:28
提示: 作者被禁止或删除 内容自动屏蔽

youan222

6# 发表于 2024-12-24 11:57:37
你好,请问你解决了吗?我在3.2的版本下使用napi,意图走hdf控制led,显示报错如下,
Device info:OpenHarmony 3.2
Build info:OpenHarmony 3.2.11.9
Module name:com.example.lednapi
Version:1.0.0
Pid:5313
Uid:20010038
Lifetime: 0.000000s
Js-Engine: ark
page: pages/Index.js
Error message: Failed to bind HDF service.
SourceCode:
                lednapi.ledControl(1); // 参数 1 表示开灯
                ^
Stacktrace:
    at anonymous (/ets/pages/Index.ets:11:9)
查找日志报错:
No permission to send a system common event from com.example.lednapi(pid = 5313, uid = 20010038), userId = -3
7:59:00.004 5313-5313/com.example.lednapi E C02500/hdf_syscall_adapter: <private>: load dev_mgr driver failed
08-05 17:59:00.004 5313-5313/com.example.lednapi E C02500/hdf_devmgr_adapter: HdfLoadDriverByServiceName failed to get <private> service
08-05 17:59:00.004 5313-5313/com.example.lednapi E C02500/hdf_syscall_adapter: <private>: load maniu_led_service driver failed
08-05 17:59:00.004 5313-5313/com.example.lednapi E C03f00/ArkCompiler: [default] Call:1312 occur exception need return
到现在也还没成功

深开鸿_王石

发表于 2024-12-26 15:22  IP属地: 江苏省扬州市

回复 youan222: napi直接访问是不行的,简单搞法呢就是hdf的service里开个socket,然后napi用udpsocket发消息给hdf的service,这样就好了

youan222

发表于 2024-12-27 08:57  IP属地: 浙江省温州市

回复 深开鸿_王石: 谢谢,我把hdf框架和napi连起来了,napi连接南北向,hdf访问底层,最后其实是权限问题,已经连上啦,你的思路我也看看

lvlay

发表于 2025-1-8 21:27  IP属地: 湖南省株洲市

回复 youan222: 你的权限是怎么修改的?

【4 条回复】 查看全部
共9 条回复,点击查看

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部