功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
技术支持 您所在的位置: 首页 > 技术支持

一线制传感器在基于Linux平台车载信息采集系统中的应用

来源:    作者:    发布时间:2015-04-26 10:03:33    浏览量:

wake_up_interruptible(&queue);//唤醒等待队列
if (fasync) {
kill_fasync(&fasync,SIGIO,POLL_IN);//发送异步通知信号
}

3.2.4 poll系统调用操作接口函数

当程序需要进行对多个文件读写时,如果某个文件没有准备好,则系统就会处于读写阻塞的状态,影响其他文件的读写。为了避免读写阻塞,使用poll函数。如果设备无阻塞地读,就返回POLLIN;通常的数据已经准备好,可以读了,就返回POLLRDNORM。

static unsigned int DS18B20_poll(struct file *flip, poll_table *wait) {
poll_wait(flip,&queue,wait);
if(DS18B20dev.head != DS18B20dev.tail) {
return POLLIN|POLLRDNORM;
}
return 0;
}

3.2.5 release释放设备函数

static intDS18B20_release(struct inode *inode,struct file *filp) {
ReleaseFlag=0//内核停止读取温度标志
DS18B20_fasync(1,filp,0);//关闭异步通知
module_put(THIS_MODULE);//设备计数器减1
return 0;
}

写接口函数用来通知驱动。例如通知驱动读取通道2的数据,在应用程序中执行写接口函数write(fileno,&SLOT2,1),驱动设置当前读通道号为2。

至此完成驱动接口函数。此驱动属于字符设备驱动,将源程序放在drive绕行电感器r/char 目录下。同时需要修改该目录下的Kconfig配置文件并添加 Config 18B20_S3C2410选项,修改driver/char/Makefile,添加obj$(CONFIG_18B20_S3C2410) +=S3C2410_18B20.O。最后重新配置内核,将驱动以模块形式添加到内核,这样就可以编译驱动了。

4 Qtopia应用程序设计

(1) 创建工程

首先利用QT Designer设计器创建一个窗体应用程序ThermometerFigure.ui。窗体程序创建好后根据需要添加窗体控件、槽函数、信号等。图3为ThermometerFigure类的实现框图。

(2) ThermometerFigure类实现

利用uic工具产生相应的*.cpp和*.h文件(窗体类的实现文件和头文件)。编辑*.cpp和*.h文件扁平型电感实现各成员函数、信号槽的连一体式电感接。具体实现如图3所示。

(3) 创建main及初始化

首先创建main.cpp文件,并在main.cpp 中创建QApplication 对象。QApplication 类负责图像用户界面应用程序的控制流和主设置,对所有来自系统和其他源文件的事件进行处理和调度;还包括应用程序的初始化和结束。

int main( int argc, char **argv ) {
QApplication app(argc,argv);
ThemometerFigure wyc;//创建对象
app.setMainWidget( &wyc );//选为主窗体
wyc.show(); return app.exec();
}

(4) 编辑*.pro文件并生成Makefile

利用progen工具创建Thermom功率电感eter.pro,具体实现如下:
TEMPLATE=app
CONFIG=qt warn_on release
HEADERS=ThermometerFigure.h
SOURCES=ThermometerFigure.cpp \ main.cpp
INTERFACES=
执行qmake命令生成Makefile文件,执行之前要设置相关的环境变量,编译器路径等。
qmakeo Makefile Thermometer.pro

(5) 编译链接工程

执行make命令,将生成目标二进制文件Thermometer,此文件即可在设备上运行。

33.jpg

图3 ThermometerFigure类的实现框图

44.jpg

图4 ThermometerFigure类实现界面

(6) 将可执行文件发布到Linux系统

将可执行文件添加到Qtopia的根文件系统中,将生成的新的根文件系统烧写到设备的Flash根文件系统区,这样就可以在桌面运行程序了。图4为 ThermometerFigure类实现界面。

结语

本文介绍了车载信息系统开发的部分实现方法。通过实例讲述了Linux的开发过程,包括驱动开发和应用程序开发流程。创新点在于将一线制传感器网络引入车载信息采集系统,大大简化了线路结构,有很高的实用价值。

  • 提高太阳能电池转换效率的设计由于燃烧化石燃料引起的全球变暖环境问题、不断上涨的原油和天然气价格、对原油依赖导致的政治困境,这些问题促使人们不断努力提高能源效率。对于那些能源无法自给的国家,太阳能和其他替代能源拥有无可争议的优势,

  • 基于模拟技术的图像增强方法 摘 要: 量化过程大量减少了图像中低对比度信息,也会造成超出量化量程的图像信息完全丢失。本文针对不能采用数字算法对以上图像进行有效增强的问题,提出使用模拟技术进行图像增强的方法。该方法实现了模拟信息

  • 基于DSP的无刷直流电机控制系统的研究与设计 引言近几年来,随着电力电子器件和现代控制理论的迅速发展,无刷直流电动机由于没有接触式换向装置,不存在换向引起的火花,其具有效率高,转速不受机械换向所限制,可维护性强,安全性高等诸多优点,而被人们广泛

  •