关于15F2K60S2连接接收机后的操作
本帖最后由 sanmaodeai 于 2020-10-4 21:46 编辑我这边要实现这样一个功能:
1. 单片机外部中断0连接到遥控器PWM信号上;
2. 默认单片机P2 P1输出0xffff;
3. 遥控器PWM信号每触发一次,0xffff左移一位,类似0xfffe -- 0xfffd--0xfffb -- 0xfff7类似这样的操作;
主要问题是:
PWM信号为50Hz,高电平0.5ms~2.5ms的高电平方波,默认0.5ms,切换时会到2.5ms,(就是按照外部中断触发定时器计时来判断a的值)如果是普通开关比较好做,这个我应该怎么判断每切换一次就移位一次?
大概的程序如下:
void check(void)
{
if( a>500 && a < 1200 && flag == 1) //TRIGGER
{
flag = 0;
if(P2 == 0xff)
{
P2 = 0xfe ;
}
else
{
P2 = _crol_(P2,1) ;
}
}
else if(a>1800 && a<2500 ) //DEFAULT
{
if(P2 == 0xff)
{
P2 =0xfe ;
}
else
{
Delay500ms();
Delay500ms();
P2 = _crol_(P2,1) ;
}
}
else
{
flag = 1;
}
}
上面代码的主要功能是开关在小档,P2只移动一位,需要把开关打在中档,再调节到小档,才能移动下一位;如果档位在高档,则P2每个1s移位一次,这样是否正常?
页:
[1]