全志A20 控制背光亮度C代码

#include
#include
#include
#include
#include
#include
#include

#include

#include

int init_dispon(int brightness) //brightness 用户传进参数 :0~100
{

unsigned long args[3];

int ret = -1;

int setret=-1;

        int mFD_disp = open("/dev/disp", O_RDWR, 0);  //打开disp驱动

        if (mFD_disp < 0) 
        {
             printf("open display device failed!\n");
            mFD_disp = 0;
            return -1;
        }
args[0]  = 0; //参数方式一定要设置对 args[0] =0对应的是 LCD0,如果是LCD1 则改为arg[0]=1
args[1]  = brightness; //背光亮度值是在这个参数。
args[2]  = 0;
//ret = ioctl(mFD_disp,0x16,(unsigned long)args); //get lcd backlight  获取背光   其中0x16 对应的宏是DISP_CMD_GET_BRIGHT
//printf("ret = %d\n",ret);
setret = ioctl(mFD_disp,0x12,(unsigned long)args); //set lcd backlight 设置背光 其中0x12 对应的宏是DISP_CMD_SET_BRIGHT
printf("setret = %d\n",setret);
close(mFD_disp);
return ret;
}
int main(int argc, char *argv[])  
{
int num;
num=atoi(argv[1]);  //转为整形
init_dispon(num);

}

之前一直打开 DISP_CMD_LCD_SET_BRIGHTNESS,但怎么设置都无效,我怀疑还要控制PWM,但是这个DISP_CMD_LCD_SET_BRIGHTNESS和DISP_CMD_SET_BRIGHT区别在哪?还要从源代码理解,总之功能点实现了,记录备忘,如有更好方法,不妨留言,或者加QQ:1278150104

你可能感兴趣的:(驱动调试,C/C++)