qt開啟linux下的裝置節點
#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");//選擇開啟的裝置節點,找到要控制的裝置驅動