百科生活 投稿
关于【键盘灯怎么开】,电脑键盘灯怎么开,今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
- 内容导航:
- 1、学习STM32编程——按键扫描键控流水灯
- 2、键盘灯怎么开
1、学习STM32编程——按键扫描键控流水灯
关键代码
uint8_t Key_Scan(uint8_t mode)
{
static uint8_t key_up=1;
if(mode) key_up=1;
if(key_up && (KEY_L==0||KEY_D==0||KEY_R==0||KEY_U==1))
{
delay_ms(20);
key_up=0;
if(KEY_L==0) return KEY_L_PRESS;
else if(KEY_D==0) return KEY_D_PRESS;
else if(KEY_R==0) return KEY_R_PRESS;
else if(KEY_U==1) return KEY_U_PRESS;
}
else if(KEY_L==1&&KEY_D==1&&KEY_R==1&&KEY_U==0)
{
key_up=1;
}
return 0;
}
uint8_t keyValue=http://www.029ztxx.com/tg/0;
LED_WorkModeTypeDef myLEDWorkMode=LED_MODE1;
int main(void)
{
delay_init(168);
LED_Init();
Key_Init();
while(1)
{
keyValue=http://www.029ztxx.com/tg/Key_Scan(0);
switch(keyValue)
{
case KEY_L_PRESS:
myLEDWorkMode=LED_MODE1;
break;
case KEY_D_PRESS:
myLEDWorkMode=LED_MODE2;
break;
case KEY_R_PRESS:
myLEDWorkMode=LED_MODE3;
break;
default:
break;
}
if(myLEDWorkMode==LED_MODE1)
{
LED_Mode1(1000);
}
else if(myLEDWorkMode==LED_MODE2)
{
LED_Mode2();
}
else if(myLEDWorkMode==LED_MODE3)
{
LED_Mode3();
}
}
}
遇到坑,添加如下代码解决
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) //将位带区地址转换为位带别名区地址
#define MEM_ADDR(addr) *((volatile unsigned long *)(addr)) //表示该十六进制数为地址,并允许直接对其内容进行操作进行操作(其中的volatile关键字常用于寄存器定义,表示从内存重新装载内容,而不是从寄存器拷贝内容)
#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
//IO口地址映射
#define GPIOA_ODR_Addr (GPIOA_BASE+20) //0x40020014
#define GPIOB_ODR_Addr (GPIOB_BASE+20) //0x40020414
#define GPIOC_ODR_Addr (GPIOC_BASE+20) //0x40020814
#define GPIOD_ODR_Addr (GPIOD_BASE+20) //0x40020C14
#define GPIOE_ODR_Addr (GPIOE_BASE+20) //0x40021014
#define GPIOF_ODR_Addr (GPIOF_BASE+20) //0x40021414
#define GPIOG_ODR_Addr (GPIOG_BASE+20) //0x40021814
#define GPIOH_ODR_Addr (GPIOH_BASE+20) //0x40021C14
#define GPIOI_ODR_Addr (GPIOI_BASE+20) //0x40022014
#define GPIOA_IDR_Addr (GPIOA_BASE+16) //0x40020010
#define GPIOB_IDR_Addr (GPIOB_BASE+16) //0x40020410
#define GPIOC_IDR_Addr (GPIOC_BASE+16) //0x40020810
#define GPIOD_IDR_Addr (GPIOD_BASE+16) //0x40020C10
#define GPIOE_IDR_Addr (GPIOE_BASE+16) //0x40021010
#define GPIOF_IDR_Addr (GPIOF_BASE+16) //0x40021410
#define GPIOG_IDR_Addr (GPIOG_BASE+16) //0x40021810
#define GPIOH_IDR_Addr (GPIOH_BASE+16) //0x40021C10
#define GPIOI_IDR_Addr (GPIOI_BASE+16) //0x40022010
//IO口操作,只对单一的IO口!
//确保n的值小于16!
#define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出
#define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入
#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出
#define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //输入
#define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //输出
#define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //输入
#define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n) //输出
#define PDin(n) BIT_ADDR(GPIOD_IDR_Addr,n) //输入
#define PEout(n) BIT_ADDR(GPIOE_ODR_Addr,n) //输出
#define PEin(n) BIT_ADDR(GPIOE_IDR_Addr,n) //输入
#define PFout(n) BIT_ADDR(GPIOF_ODR_Addr,n) //输出
#define PFin(n) BIT_ADDR(GPIOF_IDR_Addr,n) //输入
#define PGout(n) BIT_ADDR(GPIOG_ODR_Addr,n) //输出
#define PGin(n) BIT_ADDR(GPIOG_IDR_Addr,n) //输入
#define PHout(n) BIT_ADDR(GPIOH_ODR_Addr,n) //输出
#define PHin(n) BIT_ADDR(GPIOH_IDR_Addr,n) //输入
#define PIout(n) BIT_ADDR(GPIOI_ODR_Addr,n) //输出
#define PIin(n) BIT_ADDR(GPIOI_IDR_Addr,n) //输入
2、键盘灯怎么开
操作方法
RK机械键盘灯光的调试方法:
“FN键+←”开启背光呼吸模式、"FN+→"切换呼吸速度、”N+↑/↓背景灯光亮度控制。
雷柏机械键盘灯光调试方法:
打开已经安装好的驱动程序,在主菜单我们就可以看到“按键设置”、“灯光设置”、“宏编辑”等,这里我们用到的是“灯光设置”,打开灯光设置我们可以看到有很多酷炫模式是可以直接选择的,并且背光的亮度及频率是可以调整的。
海盗船机械键盘的灯光调试:
海盗船机械师键盘的灯光模式分为两种:静态和动态,打开安装好的驱动程序,选择灯光下的模式选择,建议大家调节“涟漪”或者“波浪”,效果会更加的炫酷。
达尔优机械键盘的灯光调试:
调节背光可以通过FN+F1-F10来调节背光,FN+方向键为调节背光亮度,而FN+F区的一些功能按键可以调节多种背光特效。
雷蛇黑寡妇幻彩版机械键盘的灯光调试:
雷蛇为黑寡妇蜘蛛幻彩版键盘准备了六种的灯光切换模式,分为静态的动态两种,其他的炫彩模式是通过自定义来设定的,同样是需要下载驱动,然后在驱动界面点击灯光菜单选项,进入里面就可以按照自己的喜好来设定背光灯啦。
罗技机械键盘的灯光调试:
罗技是属于国产,而基本上国产的键盘都是通过FN+灯光键来调试的,一般都在上下左右这四个键的位置。
樱桃 机械键盘灯光调试方法:
小伙伴们可以通过FN+F5-F9来调节背光亮度,F5-F6为标准调节模式;F7-F8则是快速调节模式,F9为关闭背光。
本文关键词:华硕无畏15键盘灯怎么开,电脑键盘灯怎么开,拯救者y7000键盘灯怎么开,暗影精灵8pro键盘灯怎么开,华硕键盘灯怎么开。这就是关于《键盘灯怎么开,电脑键盘灯怎么开(学习STM32编程——按键扫描键控流水灯)》的所有内容,希望对您能有所帮助!
- 最近发表