红外遥控实验求解

2019-07-20 23:58发布

void TIM5_IRQHandler(void)
{      
    if(TIM_GetITStatus(TIM5,TIM_IT_Update)!=RESET)//发生更新中断
{
if(RmtSta&0x80)//上次有数据被接收到了
{
RmtSta&=~0X10; //取消上升沿已经被捕获标记
if((RmtSta&0X0F)==0X00)RmtSta|=1<<6;//标记已经完成一次按键的键值信息采集
if((RmtSta&0X0F)<14)RmtSta++;//记录溢出次数
else
{
RmtSta&=~(1<<7);//清空引导标识
RmtSta&=0XF0; //清空计数器
}  
}    
}
红 {MOD}部分的代码应该怎么理解?麻烦能人给个整体的思路啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-07-21 05:33
看描述:
[mw_shl_code=c,true]//遥控器接收状态 //[7]:收到了引导码标志 //[6]:得到了一个按键的所有信息 //[5]:保留 //[4]:标记上升沿是否已经被捕获 //[3:0]:溢出计时器 u8 RmtSta=0; [/mw_shl_code]
lycreturn
2楼-- · 2019-07-21 06:19
JULY
3楼-- · 2019-07-21 08:27
 精彩回答 2  元偷偷看……
JULY
4楼-- · 2019-07-21 09:56
 精彩回答 2  元偷偷看……
JULY
5楼-- · 2019-07-21 14:13
回复【2楼】正点原子:
---------------------------------
还有再请教原子哥一个问题,红外发射时低数据位先发送,接收时是高数据位先接收的么?
正点原子
6楼-- · 2019-07-21 19:18
回复【6楼】JULY:
---------------------------------
这个要看协议了,我忘了。。。。

一周热门 更多>