📄 keyb.h
字号:
#include <avr/io.h>
#include "Timer.h"
/* PORT DDR PIN
A 0x1B 0x1A 0x19
B 0x18 0x17 0x16
C 0x15 0x14 0x13
D 0x12 0x11 0x10
KeyBoard
Row 0..3 PA4..7
Col 0..3 PC4..7
*/
//#define KEYB_ROW_OUTPUT asm("sbi 0x14,0"::);asm("sbi 0x14,1"::);asm("sbi 0x14,2"::);asm("sbi 0x14,3"::)
//#define KEYB_ROW_INPUT asm("cbi 0x14,0"::);asm("cbi 0x14,1"::);asm("cbi 0x14,2"::);asm("cbi 0x14,3"::)
//#define KEYB_ROW_SETH asm("sbi 0x15,0"::);asm("sbi 0x15,1"::);asm("sbi 0x15,2"::);asm("sbi 0x15,3"::)
//#define KEYB_ROW_SETL asm("cbi 0x15,0"::);asm("cbi 0x15,1"::);asm("cbi 0x15,2"::);asm("cbi 0x15,3"::)
//#define KEYB_COL_OUTPUT asm("sbi 0x14,4"::);asm("sbi 0x14,5"::);asm("sbi 0x14,6"::);asm("sbi 0x14,7"::)
//#define KEYB_COL_INPUT asm("cbi 0x14,4"::);asm("cbi 0x14,5"::);asm("cbi 0x14,6"::);asm("cbi 0x14,7"::)
//#define KEYB_COL_SETH asm("sbi 0x15,4"::);asm("sbi 0x15,5"::);asm("sbi 0x15,6"::);asm("sbi 0x15,7"::)
//#define KEYB_COL_SETL asm("cbi 0x15,4"::);asm("cbi 0x15,5"::);asm("cbi 0x15,6"::);asm("cbi 0x15,7"::)
#define KEYB_ROW_PORT PORTB
#define KEYB_ROW_DDR DDRB
#define KEYB_ROW_PIN PINB
#define KEYB_ROW_SHIFT 0
#define KEYB_COL_PORT PORTB
#define KEYB_COL_DDR DDRB
#define KEYB_COL_PIN PINB
#define KEYB_COL_SHIFT 4
/*
low 4 bit: row
high 4 bit: col
*/
uint8_t KB_GetChar(uint8_t Sync,uint8_t WaitRelease);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -