[文章]鸿蒙OS 用户程序和驱动交互代码

阅读量0
0
0
用户程序和驱动交互代码
UART驱动成功初始化后,会创建/dev/uartdev-5设备节点,通过设备节点与UART驱动交互的代码如下:
1.  #include<stdlib.h>
2.  #include<unistd.h>
3.  #include<fcntl.h>
4.  #include"hdf_log.h"
5.   
6.  #defineHDF_LOG_TAG "hello_uart"
7.  #defineINFO_SIZE 16
8.   
9.  int main(void)
10.    {
11.        int ret;
12.        int fd;
13.        const char info[INFO_SIZE] = {" HELLOUART! "};
14.     
15.        fd = open("/dev/uartdev-5",O_RDWR);
16.        if (fd < 0) {
17.            HDF_LOGE("hello_uart uartdev-5open failed %d", fd);
18.            return -1;
19.        }
20.        ret = write(fd, info, INFO_SIZE);
21.        if (ret != 0) {
22.            HDF_LOGE("hello_uart writeuartdev-5 ret is %d", ret);
23.        }
24.        ret = close(fd);
25.        if (ret != 0) {
26.            HDF_LOGE("hello_uart uartdev-5close failed %d", fd);
27.            return -1;
28.        }
29.        return ret;
30.    }
在build/lite/product/ipcamera_hi3516dv300.json产品配置的hdf子系统下增加hello_uart_sample组件,代码如下:
1.已复制
{
2.    "subsystem": [
3.      {
4.        "name": "hdf",
5.        "component": [
6.          { "name":"hdf_sample", "dir":"//vendor/huawei/hdf/sample/platform/uart:hello_uart_sample","features":[] }
8.      }
}
如上代码均为示例代码,完整代码可以在vendor/huawei/hdf/sample查看。
示例代码默认不参与编译,需要手动添加到编译脚本中。

编译和烧写
  • 连接串口。
1 连接串口图
34.png


    • 单击Serial port打开串口。
    • 输入"com11"串口编号并连续输入回车直到串口显示"hisillicon"。
    • 单板初次启动或修改启动参数,请进入步骤2,否则进入步骤3。

(单板初次启动必选)修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,若不修改参数只需执行一次。每次复位单板均会自动进入系统。
U-boot引导程序默认会有2秒的等待时间,用户可使用回车打断等待并显示"hisillicon",通过reset命令可再次启动系统。
36.png

输入“reset”指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。
37.png
根目录下,在命令行输入指令“./bin/hello_uart”执行写入的demo程序,显示成功结果如下图所示
38.png
作者:疯壳
注:文档和视频中所有的图片及代码截图皆为示意图,具体以HarmonyOS官网发布内容为准。

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友