📄 remote_key.h
字号:
/*接收M50462AP电视机遥控器键码
------+ +--------------+ +------+ +------------------------+ +----
| | | | | | | |
+--+ +--+ +--+ +--+
|--|0.25mS
|---2mS:"1"-------|-1mS:"0"-|------40mS:END-------------| M50462AP的数据格式:16位'0'/'1'+1位END
键码:
1 2 3 4 5 6 7 8 9 0 音量+ 音量- CH+ CH- 黑白+ 黑白- 亮度+ 亮度- 10+ 20+
00 08 10 18 20 28 30 38 01 09 22 2A 0A 12 23 2B 33 3B 11 19
******RedStone制作********
*******尹延辉@哈尔滨工程大学040813*QQ:329314196欢迎交流********************/
unsigned int DataIn=0;
unsigned char DataInCount=0,DataReady=0;
int CurrentRTC,SaveRTC,RTC=0;
SIGNAL(SIG_INTERRUPT0)
{
if(DataReady)
{
DataInCount=0;
SaveRTC=((RTC&0xff)<<8)+TCCR0;
}
/*else if(DataInCount==16)
{
DataInCount=0;
SaveRTC=((RTC&0xff)<<8)+TCCR0;
}*/
else
{
CurrentRTC=((RTC&0xFF)<<8)+TCCR0;
if((SaveRTC=CurrentRTC-SaveRTC)<0) SaveRTC=0-SaveRTC;
if((SaveRTC>1000)&&(SaveRTC<1500))
{
DataIn=DataIn>>1;
DataInCount++;
}
else if((SaveRTC>2000)&&(SaveRTC<2500))
{
DataIn=(DataIn>>1)+32768;
DataInCount++;
}
else if((SaveRTC>3000)&&DataInCount==16) DataReady=1;
else DataInCount=0;
SaveRTC=CurrentRTC;
}
}
void init_int0(void)
{
MCUCR|=(1<<ISC01);//下降沿触发中断
GICR|=(1<<INT0);//开局部中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -