数字温度传感器DS1621在Linux下的IIC接口驱动设计

4 驱动的加载以及测试
应用程序将驱动从内核空间获得的数据保存下来,首先根据传回的DONE比特位判断温度传感器是否正在数据转换的过程中,如果是,则抛弃该数据,并打印数据不可用的信息;如果否,则接下来根据精度位判断小数点后的数据值,并将结果打印出来。


最后将驱动程序编译成模块,可以动态地加载、卸载设备驱动,不用重新启动系统就能查看驱动程序结果,方便了驱动的编写与调试工作。
经过动态编译后,得到目标文件iic.o、1621.o以及应用程序1621_iic_test,将文件下载到S3C2440中,通过#insmodiic.o、#insmod 1621.o加载模块,#./1621_iic_test运行测试程序,如图6所示。本文引用地址:https://www.eepw.com.cn/article/162269.htm
5 结论
本文以ARM920T内核的S3C2440为MCU与数字温度传感器模块DS1621搭建成多点数字测温电路。MCU通过IIC总线与DS1621进行通信,通过编写linux2.4版本下的IIC驱动程序,完成了S3C2440与带有IIC接口的外围芯片的通信,并实现了DS1621的配置和测温工作,正常工作中DS1621的典型温度转化时间为1 s,数据精度为0.5℃,典型的工作电压和电流值仅为3 V、10μA,具备较高的精度,且自身工作功耗小。通过增加DS1621的使用片数,还可扩展为一个低电压、低功耗的多点数字测温系统,可以广泛地应用在各种嵌入式系统中。驱动程序可使用于其他具有IlC接口的外围芯片的工作,也可将驱动应用于其他具有IIC接口的外围设备通信。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
传感器相关文章:传感器工作原理
风速传感器相关文章:风速传感器原理 上拉电阻相关文章:上拉电阻原理 温湿度控制器相关文章:温湿度控制器原理
评论