qt打开linux下的设备节点

1 篇文章 0 订阅

#include <stdlib.h>  //包含头文件

#define IOCTL_LED_ON  0
#define IOCTL_LED_OFF 1

int led_fd=0;
int led_open(const char *devname) //定义一个open函数 linux驱动会调用里open函数
{
    led_fd=open(devname, O_RDWR);//调用驱动函数,打开设备文件
    printf("LED driver is ok\n");
    if(led_fd<0) //如果打开失败
    {
        printf("open device %s failed.\n",devname);
        return -1;
    }
    return 0;
}

int led_ioctl(unsigned int cmd, unsigned long led_num)
{
    
    printf("on/off is ok\t");
    printf("cmd=%d\n",cmd);
    ioctl(led_fd, cmd, led_num-1); //调用驱动函数,设置对应io口的状态
    return 0;
}

int led_close(void)
{
    if(led_fd)
        close(led_fd);//调用驱动函数,关闭设备文件
}


///调用 测试

    led_ioctl(4, 1);//第二个参数在这里并不起作用,但必须>=1(因为后面有led_num-1)
    led_open("/dev/xyz");//选择打开的设备节点,找到要控制的设备驱动

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值