OpenHarmony开发者论坛

标题: openHarmony,在应用开发的时候,nativeC++侧要怎么控制开发板的UART、GPIO、I2C这些驱动 [打印本页]

作者: Lsheep    时间: 2024-8-15 10:58
标题: openHarmony,在应用开发的时候,nativeC++侧要怎么控制开发板的UART、GPIO、I2C这些驱动
[md]### 【问题描述】

1. 想通过native C++控制一些连接在开发板上,像读卡器、语音模块、摄像头和一些第三方厂家的自定义协议设备。但不知道在用户应用程序开发的native C++侧怎么去控制底层的驱动,求大佬解惑

### 【运行环境】

硬件:RK3568
ROM版本:4.0
DevEvoStudio版本:next 2
SDK版本:10
[/md]
作者: Lsheep    时间: 2024-8-15 16:46
这些外接的第三方厂家设备有的是串口、485、I2C通信,有的是IO控制
作者: 云端筑梦    时间: 2024-8-22 17:45
https://docs.openharmony.cn/page ... latform-gpio-des.md 可以看一下他们的驱动是怎么实现的
作者: wowni    时间: 2024-8-23 09:50
回复 Lsheep: 同问,请问你找到方法了吗
作者: wowni    时间: 2024-8-23 09:52
回复 云端筑梦: 看文档,他们都是在驱动层面实现的,像是在编译系统源码的时候调用系统中的头文件之类的,在应用层有办法调用吗
作者: 云端筑梦    时间: 2024-8-23 11:50
回复 wowni: 驱动会在上层产生对应的节点,你通过C语言去操作对应节点就好了
作者: Lsheep    时间: 2024-8-23 13:52
回复 云端筑梦: 节点是指/dev和/sys/class/gpio里面的文件吗,例如/dev/ttyS0、/sys/class/gpio/export、/sys/class/gpio/gpioX。因为购买的是适配好的开发板,自己没有做设备开发,只做应用开发,所以我在nativeC++侧,是用linux的库调用/dev/ttyS0或/sys/class/gpio/gpioX在控制串口和gpio,但在使用/sys下的文件时会遇到权限问题,命令行把setlinux取消了也是无法打开/sys下的文件,请问这个有什么解决办法吗,还是我的实现方向是错误的
作者: Lsheep    时间: 2024-8-23 13:57
回复 wowni: 目前是用linux的库在控制,像stdio、fcntl,去操作/dev/ttyS0、/sys/class/gpio/export、/sys/class/gpio/gpioX进行控制,但会遇到权限问题,而且鸿蒙应用还没权限调用类似system()可以执行系统命令的方法来改变文件的权限,这个权限问题目前还没解决。你有找到其他方法吗
作者: 云端筑梦    时间: 2024-8-23 14:39
回复 Lsheep: sys下的节点,再通过chmod去给他们对应的读写权限应该就可以操作了
作者: wowni    时间: 2024-8-23 20:40
回复 Lsheep: 没有,我们调研了好几款开发板,他们都是在系统层面可以实现串口通信,但是在应用层提供不了接口,现在没思路。
作者: wowni    时间: 2024-8-23 20:44
回复 Lsheep: 我们也是做应用层开发。我手里的板子,调用/dev下的节点倒是可以的,你可以加下我,咱们私信交流下
作者: Lsheep    时间: 2024-8-26 09:53
回复 云端筑梦: 好的,感谢
作者: Lsheep    时间: 2024-8-26 09:54
回复 wowni: 可以的





欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5