这样每一个任务都能得到及时的执行!10传统按键扫描与分时按键.PPT

这样每一个任务都能得到及时的执行!10传统按键扫描与分时按键.PPT

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这样每一个任务都能得到及时的执行!10传统按键扫描与分时按键

2006-01-20 如何用C 来完成SN8系列芯片的程序设计(二) Review SN8 C程序结构 Real Time 的C程序 使SN8 C操作Bit游刃有余 创建自己的静态库 Debugger使用技巧 SN8 C 程序结构 程序资源共享 程序模块 .H档的作用 程序举例 Real Time 的C程序 任务的分割与分时处理 传统按键扫描与分时按键扫描的对比 程序中进行的处理 使SN8 C操作Bit游刃有余 定义位变量的技巧 创建自己的静态库 为什么要创建静态库? 如何创建静态库? Debugger使用技巧 生成文件介绍 如何获得简洁的ASM档 一些应用说明 关于通讯过程中的移位,与汇编的不同。 一些应用说明 强制数据类型转换 SA1 SA3 SA2 共享资源1 共享资源2 共享资源3 共享资源4 资源共享 1.C 3.C 2.C .h .h .h .lib 每一个程序文档都可以享有别的文档的资源,也可以提供自己的资源供别的程序共享! 外部可见部分 外部不可见部分 .H档 .C档 可以将每一个模块分成外部可见和不可见部分! 对内声明函数和定义常量 对外提供内部函数调用的方法和接口 对不需要对外公开的代码和定义都可以放在.C中! #include sn8p2202.h #include MouseSensor.h #include public.h“ extern BITDEFINE statusWord; #define sensor_read statusWord.BIT3 void adns(void) { …… } unsigned int readSensorID(void) { …… } void readXData(void) { …… } void readYData(void) { …… } void delay(unsigned int Time) { …… } void resetSensor(void) { …… } #ifndef _MOUSESENSOR_H_ #define _MOUSESENSOR_H_ void adns(void); unsigned int readSensorID(void); void readXData(void); void readYData(void); void delay(unsigned int Time); void resetSensor(void); #endif 怎么实现程序的实时性?每次都用中断吗?还是…… 长 时 间 的 任 务 5 4 3 2 1 1 2 3 4 5 其实大多的任务都可以分割,然后分时进行处理。这样每一个任务都能得到及时的执行! ① ② ① ② … … 1 2 传统按键扫描 分时按键扫描 我们可以将一个任务分为60或70次来完成,实现了分时实现。而很多占用很长时间的任务也都可以这么做。 通过定义全局变量来记录任务执行的多少。 通过定义标志位来检测任务执行的状态。 保证每次循环任务都得到执行,都能正确得到任务状态。 每一个任务都不能占用太多的系统时间。 通过标志位来判断一个任务是否需要马上执行。 通过标志位来控制任务的执行。 方便地定义位变量 方便地操作位变量 有很多种操作位的方法,那一种更好? typedef struct bitOp{ unsigned bit0:1; unsigned bit1:1; unsigned bit2:1; unsigned bit3:1; unsigned bit4:1; unsigned bit5:1; unsigned bit6:1; unsigned bit7:1; }BIT; typedef union bitDefine{ unsigned int Byte; BIT bit; }BITDEFINE; #define BIT0 bit.bit0 #define BIT1 bit.bit1 #define BIT2 bit.bit2 #define BIT3 bit.bit3 #define BIT4 bit.bit4 #define BIT5 bit.bit5 #define BIT6 bit.bit6 #define BIT7 bit.bit7 将它们定义在一个头文件中! BITDEFINE keyInData; #define keyInBuf keyInData.Byte #define key0 keyInData.BIT0 #define key1 keyInData.BIT1 #define key2 keyInData.BIT2 #define key3 keyInData.BIT3 #define ke

文档评论(0)

laolao123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档