Qt/Embedded的/蓄电池状态检测控制软件设计

电源与新能源 时间:2012-05-27来源:网络
在ad模块的驱动程序设计中采用中断采集的方式完成数据采集。ad驱动函数主要代码如下:

(1)设备初始化,驱动设备的注册。为防止设备号的冲突,这里设备注册采用的是自动分配设备号。
devfs_handle=devfs_register(null,device_name,devfs_fl_auto_devnum,0,0,s_ifchr|s_irusr|s_iwusr,s3c2410_fops,null)。

(2)open函数,用于设置ad通道,并进行比例因子初始化。

init_waitqueue_head (adcdev.wait);

//等待队列,当数据到达的时候,进程被唤醒,并将数据返回调用者。

adcdev.channel=0;

adcdev.prescale= 0xff;

//ad设置,说明对通道0进行采样。

(3)read函数,关键函数之一,在这个函数中需要配置ad器件的控制寄存器,并启动转换。使用copy_to_user函数把数据从内核传递到用户空间,功能函数主要代码如下:

start_adc_ain(adcdev.channel, adcdev.prescale);

interruptible_sleep_on(adcdev.wait);

copy_to_user (buffer, (char*)ret, sizeof(ret))。

(4)最后,把所有功能函数写进file_operations。

表1 宿主机上的移植需要的工具及环境变量

4 总结

在各种检测系统的研究和设计中,数据采集是必不可少的环节。本系统以s3c2410a微控制器为基础,利用图形化编程语言qt设计出可视化、友好的控制界面,能够显著提高人机界面的显示效果。该系统具有较高的稳定性、可靠性,特别适用于便携式检测装置。因此,该系统具有广阔的市场前景。


1 2 3

关键词: 蓄电池 检测控制

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版