- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 锚杆施工工艺试验方案.PDF
- 锥形塑料光纤过渡器的制作及测试-光学精密工程.PDF
- 锦州基础教育课程改革试验区2006年初中毕业考试化学试题参考.DOC
- 镜头前的完美授课-超星慕课.PPT
- 长崎大学的国际战略PDF.PDF
- 一级建造师管理与实务政工程.doc
- 长青书店2012年4月书讯总第84期-中日友好医院.DOC
- 闭合电路欧姆定律的应用教学设计.DOC
- 三位一体的程序化购买体系.doc
- 防渗膜铺设施工工艺-中铝长城建设有限公司.DOC
- 炼石图解-工业和信息化领域数据安全合规指引.V1.0.0 .docx
- 全民早期预警行动计划_预警技术发展和监管政策研究_.docx
- 基于加权域适应卷积神经网络的滚动轴承故障诊断.docx
- 基于改进的DeepLabv3+图像语义分割算法研究.docx
- 金融行业周报:保险风险分类办法修订,存款利率自律管理强化.docx
- 美妆-毛戈平:成功路径难以复制的高端国货美妆-毛戈平招股说明书梳理.docx
- 面向宽窄交替航道的船舶交通元胞自动机模型.docx
- 安全管理师工作职责与职位要求【16篇】.pdf
- 小学五年级脱式计算题300道-五年级上册脱式计算题及答.pdf
- 名侦探柯南读后感100字_读后感_模板.pdf
文档评论(0)