指针函数的范例.doc

上传人:夏** 文档编号:562956762 上传时间:2024-04-01 格式:DOC 页数:5 大小:28.51KB
返回 下载 相关 举报
指针函数的范例.doc_第1页
第1页 / 共5页
指针函数的范例.doc_第2页
第2页 / 共5页
指针函数的范例.doc_第3页
第3页 / 共5页
指针函数的范例.doc_第4页
第4页 / 共5页
指针函数的范例.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《指针函数的范例.doc》由会员分享,可在线阅读,更多相关《指针函数的范例.doc(5页珍藏版)》请在金锄头文库上搜索。

1、关于指针函数的范例关于指针函数的范例 #define ubyte unsigned char#define uint unsigned int#define ulong unsigned longubyte kbCode; / 按键编码纪录ubyte kbStatus; / 键盘当前状态,可以理解为菜单层次/ 按键的四种不同工作状态对应的函数指针对照表,每三字节对应一个按键/ 每一项包含三个字节,分别代表按键码,键盘状态,对应处理程序编号/ 本表对应于日常操作,不是修改状态ubyte code TAB046= 0x11,0x00,0x01, / 按键1 func1 0x12,0x00,0x01

2、, / 按键2 func1 0x14,0x00,0x01, / 按键3 func1 0x1a,0x00,0x01, / 按键4 func1 0x2a,0x00,0x01, / 按键5 func1 0x4a,0x00,0x01, / 按键6 func1 0x01,0x00,0x01, / 按键7 func1 0x02,0x00,0x01, / 按键8 func1 0x04,0x00,0x01, / 按键9 func1 0x10,0x00,0x01, / 按键0 func1 0x20,0x00,0x01, / 按键. func1 0x08,0x00,0x02, / 按键Clear func2 0x

3、18,0x00,0x03, / 按键U/D func3 0x8a,0x01,0x04, / 按键shift func4 0x40,0x02,0x05, / 按键last func5 0x00; / 本表结束标志ubyte code TAB140= 0x12,0x03,0x06, / 按键2 func6 0x14,0x03,0x07, / 按键3 func7 0x2a,0x03,0x08, / 按键5 func8 0x4a,0x03,0x09, / 按键6 func9 0x01,0x03,0x12, / 按键7 func18 0x8a,0x03,0x14, / 按键shift func20 0x

4、11,0x01,0x0a, / 按键1 func10 0x1a,0x01,0x0b, / 按键4 func11 0x04,0x01,0x0c, / 按键9 func12 0x10,0x01,0x0d, / 按键0 func13 0x80,0x01,0x0e, / 按键Enter func14 0x08,0x00,0x02, / 按键Clear func2 0x20,0x03,0x13, / 按键. func19 0x00; / 本表结束标志ubyte code TAB27= 0x40,0x02,0x0f, / 按键last func15 0x08,0x00,0x02, / 按键Clear fu

5、nc2 0x00; / 本表结束标志ubyte code TAB340= 0x11,0x03,0x10, / 按键1 func16 0x12,0x03,0x10, / 按键2 func16 0x14,0x03,0x10, / 按键3 func16 0x1a,0x03,0x10, / 按键4 func16 0x2a,0x03,0x10, / 按键5 func16 0x4a,0x03,0x10, / 按键6 func16 0x01,0x03,0x10, / 按键7 func16 0x02,0x03,0x10, / 按键8 func16 0x04,0x03,0x10, / 按键9 func16 0x

6、10,0x03,0x10, / 按键0 func16 0x20,0x03,0x10, / 按键. func16 0x08,0x00,0x02, / 按键clear func2 0x80,0x01,0x11, / 按键Enter func17 0x00; / 本表结束标志ubyte code *TAB4=TAB0,TAB1,TAB2,TAB3; / 总指针表/ 指针函数列表code void(code *KeyProcTab)()= NoKey, /*0# (00H)#*/ func1, /*1# (01H)#*/ func2, /*2# (02H)#*/ func3, /*3# (03H)#*

7、/ func4, /*4# (04H)#*/ func5, /*5# (05H)#*/ func6, /*6# (06H)#*/ func7, /*7# (07H)#*/ func8, /*8# (08H)#*/ func9, /*9# (09H)#*/ func10, /*10# (0AH)#*/ func11, /*11# (0BH)#*/ func12, /*12# (0CH)#*/ func13, /*13# (0DH)#*/ func14, /*14# (0EH)#*/ func15, /*15# (0FH)#*/ func16, /*16# (10H)#*/ func17, /*1

8、7# (11H)#*/ func18, /*18# (12H)#*/ func19, /*19# (13H)#*/ func20 /*20# (14H)#*/;void NoKey() return;void func0() ;void func1() ;.void func20() ;/ 键盘监控,根据当前状态特征指向不同的指针表,并调用相应的函数 /void mon(ubyte key) ubyte code *data pTab; kbCode=key; pTab=*(TAB+kbStatus); / 根据当前状态特征指向分指针表 while(*pTab != key & *pTab != 0) / 按照按键代码查表 pTab += 3; / 查表 if(*pTab!=0) pTab+; kbStatus=*pTab; / 取状态特征字节 pTab+; / 指向执行函数 (*KeyProcTab*pTab)(); / 指针函数调用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号