📄 mygpio.h
字号:
//By Adam 2009.3.4 V1.0
//By Adam 2009.3.5 V1.1
//By Adam 2009.3.5 V1.2
//By Adam 2009.3.25 V1.3
//定义了更多的io口 1.2以前版本停止使用 另行存档
//没必要的部分已删除
//增加方向设置宏定义
#ifndef __MYGPIO_H
#define __MYGPIO_H
//几种IO口的定义方式
#define BEEP (1 << 7) // P0.7控制蜂鸣器,低电平蜂鸣
#define LED1 (1 << 18) // LED8~LED1 8个LED分别由P1.25~P1.18控制
#define LED2 (1 << 19)
#define LED3 (1 << 20)
#define LED4 (1 << 21)
#define LED5 (1 << 22)
#define LED6 (1 << 23)
#define LED7 (1 << 24)
#define LED8 (1 << 25) //V1.3
#define LEDS8 (0xFF << 18)
#define KEY1 (1 << 16) // P0.16 //V1.3
#define KEY2 (1 << 17) // P0.17
#define KEY3 (1 << 18) // P0.18
#define KEY4 (1 << 19) // P0.19
#define KEY5 (1 << 20) // P0.20
#define KEY6 (1 << 21) // P0.21
//#define Delay_Macro(time,i) for (i=0; i<time; i++);
//宏定义方式直接置位IO口
//置1 0 取反 (未采用函数方式由于:费时间 不推荐 需要编译器进行优化)
//注意IO0 IO1
#define LED1_1 IO1SET = LED1 //V1.3
#define LED1_0 IO1CLR = LED1 //V1.3
#define LED2_1 IO1SET = LED2 //V1.3
#define LED2_0 IO1CLR = LED2 //V1.3
#define BEEP_1 IO0SET = BEEP //V1.3
#define BEEP_0 IO0CLR = BEEP //V1.3
#define LED1_INV \
if (IO1SET & LED1) \
IO1CLR = LED1; \
else \
IO1SET = LED1
#define LED2_INV \
if (IO1SET & LED2) \
IO1CLR = LED2; \
else \
IO1SET = LED2
#define LED3_INV \
if (IO1SET & LED3) \
IO1CLR = LED3; \
else \
IO1SET = LED3
#define LED4_INV \
if (IO1SET & LED4) \
IO1CLR = LED4; \
else \
IO1SET = LED4
#define BEEP_INV \
if (IO0SET & BEEP) \
IO0CLR = BEEP; \
else \
IO0SET = BEEP //V1.3
#define LED1_F(a) \
if (a) \
IO1SET = LED1; \
else \
IO1CLR = LED1 //V1.3
#define BEEP_OUT IO0DIR |= BEEP // BEEP控制口输出
#define LED1_OUT IO1DIR |= LED1 // LED1控制口输出
#define LED2_OUT IO1DIR |= LED2
#define LED3_OUT IO1DIR |= LED3
#define LED4_OUT IO1DIR |= LED4
#define LED5_OUT IO1DIR |= LED5
#define LED6_OUT IO1DIR |= LED6
#define LED7_OUT IO1DIR |= LED7
#define LED8_OUT IO1DIR |= LED8 //V1.3
#define LEDS8_OUT IO1DIR |= LEDS8 //V1.3
#define LEDS8_1(a) \
IO1SET = (a) << 18 //V1.2
#define LEDS8_0(a) \
IO1CLR = (a) << 18 //V1.2
#define LEDS8_DATA(a) \
IO1CLR = LEDS8; \
IO1SET = (a) << 18
#define KEY1_ON !(IO0PIN & KEY1) //V1.3 //(IO0PIN & KEY1) == 0 ==> !(IO0PIN & KEY1)
#define KEY2_ON !(IO0PIN & KEY2) //V1.3
#define KEY3_ON !(IO0PIN & KEY3) //V1.3
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -