方式二设备节点

概述

本公司设备/dev/下会根据硬件实际电路,抽象出对应的设备节点.

设备节点
$ls /dev/
hal-di-1         hal-di-2         hal-di-3         hal-di-4
hal-do-1         hal-do-2         hal-do-3         hal-do-4
hal-led-1        hal-led-2
hal-rst-1        hal-rst-2
hal-pwr-1        hal-pwr-2
hal-pwrstat-1
...

应用

示例程序
#include <stdio.h>
#include <stdlib.h>
#include <error.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>

static char buf[256] = {1};
int main(int argc,char *argv[])
{
    int op = 0;
    int fd;
    int ret;

    fd = open("/dev/hal-do-1",O_RDWR);
    if(fd < 0) {
        perror("Open file failed!!!\r\n");
        return -1;
    }

    ret = write(fd, &op, 1);
    if(ret < 0) {
        perror("Failed to write!!");
    }

    ret = read(fd, &op, 1);
    if(ret < 0) {
        perror("Failed to read!!");
    }

    close(fd);
    return 0;
}