现在的位置: 首页 > 综合 > 正文

基于S3C2450 + WINCE的背光驱动及背光亮度调节应用程序移植详解之驱动篇[原创]

2013年02月09日 ⁄ 综合 ⁄ 共 5441字 ⁄ 字号 评论关闭

 背光驱动程序设计

 

1. 这里硬件接口使用S3C2450的GPB1,即定时器1.

    定时器的输入频率 = PCLK /{prescaler value + 1} / {divider value}。

    首先设置prescaler value:

   

    然后设置divider value:

   

2.    接着设置TOUT1的定时器PWM脉宽:

 3.   设置完这些就可以开启TOUT1了。代码如下:

 4.   背光亮度调节代码如下(将亮度设置为10个级别):

5.以上事情都做完了后,就可以编写通用的流接口程序了。由于程序比较简单,这里

仅贴上XXX_IOControl的代码如下:

 

可以看到有如下几个case:

IOCTL_POWER_CAPABILITIES;

IOCTL_POWER_QUERY;

IOCTL_POWER_SET;

IOCTL_POWER_GET;

IOCTL_BACKLIGHT_ADJUST;

IOCTL_BACKLIGHT_GETLEVEL;

其中

IOCTL_POWER_CAPABILITIES:代表电源管理器请求设备驱动返回设备支持的电源状态及相关特征;

IOCTL_POWER_SET:请求驱动更新设备的电源状态;
IOCTL_POWER_QUERY:电源管理器询问设备是否准备好进行状态切换;
IOCTL_POWER_GET:请求驱动返回当前设备的电源状态;

IOCTL_BACKLIGHT_ADJUST:调节背光亮度的接口;

IOCTL_BACKLIGHT_GETLEVEL:获取背光亮度级别的接口。

部分接口的具体调用见下一篇,背光调节的应用程序设计。

抱歉!评论已关闭.