历史上的今天
今天是:2024年10月19日(星期六)
2019年10月19日 | Key.h头文件下载-AVR系列单片机的4*4小键盘驱动头文件
2019-10-19 来源:eefocus
/*****************************************************************************
文件名称:Key.h
文件标识:_KEY_H_
摘 要:AVR系列单片机的4*4小键盘驱动头文件
当前版本:V1.0
*****************************************************************************/
#ifndef _KEY_H_
#define _KEY_H_
#include #include /***************************************************************************** 编绎控制:以下条件编绎语句保证只有在IO端口正确配置的情况下,才引用并编绎本文件 *****************************************************************************/ #if !defined(KEY_PORT)&&!defined(KEY_LINE)&&!defined(KEY_ROW) #define KEY_LINE P(PORTB,L) #define KEY_ROW P(PORTB,H) #elif defined(KEY_PORT)&&!defined(KEY_LINE)&&!defined(KEY_ROW) #define KEY_LINE P(KEY_PORT,L) #define KEY_ROW P(KEY_PORT,H) #elif defined(KEY_LINE)&&defined(KEY_ROW)&&!defined(KEY_PORT) #else #error 您没有正确设置key.h与AVR单片机的连接 #endif /***************************************************************************** 常用控制命令 *****************************************************************************/ #define KeyInit() do{OUTS(KEY_LINE);OUTS(KEY_ROW);}while(0) //键盘初始化 UINT8 GetKey(void); //读取按键值 /***************************************************************************** 获取按键值 这种方法稍复杂,但抗干扰能力很强 *****************************************************************************/ UINT8 GetKey(void) { UINT8 i; UINT8 temp; UINT8 key=16; SETS(KEY_ROW); CLRS(KEY_ROW); temp = (PBITS(KEY_LINE)==L) ? READS(KEY_LINE) : READS(KEY_LINE)>>4; SETS(KEY_LINE); CLRS(KEY_LINE); temp |= (PBITS(KEY_ROW)==H) ? READS(KEY_ROW) : READS(KEY_ROW)<<4; for(i = 0; i < 8; temp >>= 1, i++) { if((temp & BIT(0)) && (i < 4)) key = i << 2; else if((temp & BIT(0)) && (i < 8)) key|=i-4; } return key; } #endif
史海拾趣
|
本人想做一个最简单的在“手持终端”上运行的程序(在wince5.0上),请帮助。 用的语言最好是C#,或VB.net。 程序要求在终端上运行,当扫一个条码后,在程序界面上要显示出这个货品(通mdb或什么文件记录货品编号和名称),然后在数量栏位录和数量,按保存,把这条信息记录下来(记在一个文本文件就行)。就这么个功能。 ...… 查看全部问答> |
|
关于first-chance exception in **.exe access violation的问题 大侠好! 我在EVC4.0下面建了一个“WCE Dynamic -Link Library\"的工程,然后再建一个MFC的应用程序,用应用程序调用动态库(dll),在动态库中的WM_PAINT消息中执行第一条语句时,就出现了如题所示的异常,请问一下,怎么解决啊? 拜谢。… 查看全部问答> |
|
我用 CreateProcess(\"\\\\Windows\\\\pword.exe\", sPath, IntPtr.Zero, IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, new Byte[128], pi);打开了一个文档,想在打开的时候使文档的属性为只读,该如何实现呢,找了很多方法都不行。 请各位大侠 ...… 查看全部问答> |
|
蓝牙音频网关bluetooth audio gateway? 最近我在学习WINCE5.0下的蓝牙应用。 所用的软件和硬件为: WINCE5.0 PXA270 DBT-120 USB bluetooth adapter. MOTO h320 首先我选中以下环境变量编译出一个内核: SYSGEN_BTH=1 SYSGEN_BTH_AG=1 SYSGEN_BTH_CSR_ONLY=1 SYSGEN_BTH_GATEWAY ...… 查看全部问答> |
|
wince Tiny kernel工程如何让其支持standard shell 新建一项目,基于mobile phone,它是支持standard shell的, 可以编译成功,但新一个wince Tiny kernel 工程,加入standard shell catalog后,编译总是通不过,build.log里: coredll.def : error LNK2001: unresolved external symbol CeClearUser ...… 查看全部问答> |




