7.4—保险箱密码锁控制器课程.pptVIP

  • 5
  • 0
  • 约1.11万字
  • 约 66页
  • 2017-03-15 发布于江苏
  • 举报
7.4.4 设备驱动层接口 7.4.4 设备驱动层接口 7.4.4 设备驱动层接口 值得注意的是: 目前没有发现寄存器地址超过16位的器件,因此,寄存器地址可以用unsigned int类型变量来保存; 大多数I2C从机寄存器地址为8位(一个字节),一部分位16位(两个字节),I2C标准没有规定寄存器地址的长度,因此,需要一个参数给出寄存器地址的长度; I2C支持7位地址模式和10位地址模式,但目前还没有发现仅支持10位地址模式的器件,因此,规划本驱动仅支持7位的地址模式。 7.5.3 I2C驱动 7.5.3 I2C驱动 7.5.4 CAT1024驱动 7.5.4 CAT1024驱动 7.5.4 CAT1024驱动 7.5.5 虚拟键盘驱动 7.5.5 虚拟键盘驱动 7.5.5 虚拟键盘驱动 7.5.5 虚拟键盘驱动 7.5.5 虚拟键盘驱动 7.5.5 虚拟键盘驱动 7.5.6 虚拟蜂鸣器驱动 7.5.6 虚拟蜂鸣器驱动 7.5.6 虚拟蜂鸣器驱动 7.5.6 虚拟蜂鸣器驱动 7.5.6 虚拟蜂鸣器驱动 7.5.6 虚拟蜂鸣器驱动 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.7 人机交互程序 7.5.8 主程序 7.5.8 主程序 7.5.8 主程序 7.6 测试、验收与小节 virMemWrite USER_PASSWORD_ADDR,_GcPassword,7 ;//保存密码 virBuzzerTweet VIR_BUZZER_LONG ; tnOsTimeDly TICKS_PER_SEC*2 ; virShowPuts OPEN ; return 0; /******************************************************************************************* **Descriptions: 人机交互程序 ********************************************************************************************/ void hmiTask void char cTmp1; zyI2cInit ; virBuzzerInit ; virKeyInit ; virLockInit ; virMemInit ; virShowInit ; virBuzzerTweet VIR_BUZZER_LONG ; while 1 virShowClr ; //待机状态下显示 /*等待用户输入#*/ while virKeyGet 0 ! # virBuzzerTweet VIR_BUZZER_SHORT ; /*进入关锁状态*/ if _hmiBoxOpen ! 0 continue; /*进入开锁状态,等待输入*和#*/ do cTmp1 virKeyGet 0 ; if cTmp1 * _hmiPasswordSet ; //进入设计密码状态 while cTmp1! # /*返回待机状态*/ virBuzzerTweet VIR_BUZZER_SHORT ; tnOsTimeDly 0 ; //放弃CPU时间,让蜂鸣器任务运行 virBuzzerTweet VIR_BUZZER_SHORT ; virLockLock 0 ; 目 录 7.5.1 概述 7.5.2 可复用的驱动 7.5.3 I2C驱动 7.5.4 CAT1024驱动 7.5.5 虚拟键盘驱动 7.5.6 虚拟蜂鸣器驱动 7.5.7 人机交互程序 7.5.8 主程序 7.5.2 可复用的驱动 由于前后接口方式完全一样,因此只需要直接使用4.3.3小节的键盘驱动、蜂鸣器驱动和显示器驱动以及4.3.2小节的锁驱动即可。 目 录 7.5.1 概述 7.5.2 可复用的驱动 7.5.3 I2C驱动 7.5.4 CAT1024驱动 7.5.5 虚拟键盘驱动 7.5.6 虚拟蜂鸣器驱动 7.5.7 人机交互程序 7.5.8 主程序 7.5.3 I2C驱动 I2C驱动在4.3.3小节I2C驱动的基础上,增加了用于互斥操作的信号量,其接口定义的使用7.4小节的接口定义。相对4.3.

文档评论(0)

1亿VIP精品文档

相关文档