初级会员

- 积分
- 65
- 金钱
- 65
- 注册时间
- 2015-11-17
- 在线时间
- 2 小时
|
5金钱
mini板的红外遥控程序好像有些问题,无法使用,那个数据高低位那块啊我改了两种,都是不行,哪位大侠能够指点下,下面是源程序,但这块最后得到的数据是地位在前,高位在后。我试着在后面加了些程序,见注销掉的:
}else //下降沿捕获
{
Dval=TIM5->CCR2; //读取CCR1也可以清CC2IF标志位
TIM5->CCER&=~(1<<5); //CC2P=0 设置为上升沿捕获
if(RmtSta&0X10) //完成一次高电平捕获
{
if(RmtSta&0X80)//接收到了引导码
{
if(Dval>300&&Dval<800) //560为标准值,560us
{
RmtRec<<=1; //左移一位.
RmtRec|=0; //接收到0
// RmtRec>>=1; // RmtRec右移一位
// t|=0; //新定义了一个临时变量t
// t<<=31; //t左移到最高位
// RmtRec|=t; //得到RmtRec。
}else if(Dval>1400&&Dval<1800) //1680为标准值,1680us
{
RmtRec<<=1; //左移一位.
RmtRec|=1; //接收到1
// RmtRec>>=1; // RmtRec右移一位
// t|=1; //新定义了一个临时变量t
// t<<=31; //t左移到最高位
// RmtRec|=t; //得到RmtRec。
}else if(Dval>2200&&Dval<2600) //得到按键键值增加的信息 2500为标准值2.5ms
{
RmtCnt++; //按键次数增加1次
RmtSta&=0XF0; //清空计时器
}
RmtRec|=(t<<(a++));
|
|