标题:
增加了低电平时间判断
[打印本页]
作者:
fuxinyu
时间:
2025-8-7 10:51
标题:
增加了低电平时间判断
直接上源码
HWV4.0.rar
(871.83 KB, 下载次数: 0)
2025-8-7 10:49 上传
点击文件名下载附件
下载积分: 黑币 -5
void decode(void) //无线接收码解码
{
if(wx_wait_cal==0)
{
SignalCnt++ ; //记录一位数据周期时间
if(RFIN)
{
if((High_low==1)&&( Low_high==0)==1)
{
Low_time=0;
Low_time=SignalCnt;
}
Low_high=1;//上升沿触发
}
else //引脚为低电平时
{
if(High_low==0)
{
SignalCnt=0;
High_low=1;//下降沿第一次触发
}
if((High_low==1) &&( Low_high==1)==1) //下降沿第二次触发 一个数据周期
{
if((SignalCnt<=150)&&(SignalCnt>=120)==1) //9+4.5=13.5ms属于引导码 9+2.25=11.25ms属于重复码
{
if(( Low_time<=95)&&( Low_time>=85)==1)
{
wx_bit =0;
}
Low_high=0;
High_low=0;
SignalCnt=0;
}
else if((SignalCnt<=25)&&(SignalCnt>=20)==1) // 高电平 2.25ms=22.5
{
if(( Low_time<=7)&&( Low_time>=3)==1)
{
Signal_DataTemp >>= 1; /* 右移一位 */
Signal_DataTemp |= 0x80000000; /* 接收到1 */
}
wx_bit ++;
Low_high=0;
High_low=0;
SignalCnt=0;
}
else if((SignalCnt<=14)&&(SignalCnt>=7)==1) // 低电平1.12ms=11.2
{
if(( Low_time<=7)&&( Low_time>=3)==1)
{
Signal_DataTemp >>= 1; /* 右移一位 */
Signal_DataTemp &= ~(0x80000000); /* 接收到0 */
}
wx_bit ++;
Low_high=0;
High_low=0;
SignalCnt=0;
}
else
{
Low_high=0;
High_low=0;
wx_bit=0;
Signal_DataTemp=0;
wx_wait_cal=0;
}
if(wx_bit==32)
{
wx_wait_cal=1;
Low_high=0;
High_low=0;
wx_bit=0;
}
}
}
}
复制代码
作者:
fuxinyu
时间:
2025-8-7 18:16
请在Menu.c文件的103行的if((Signal_DaTemp==0) 改为if (KeyCode_num == 0)不然出现蜂鸣器响的次数不对
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1