比特138

 找回密码
 立即注册
搜索
查看: 34|回复: 0

STM32红外遥控脉宽解码程序 PB15中断TIM定时器

[复制链接]

485

主题

485

帖子

104

积分

初级会员

Rank: 2

金币
104
发表于 2020-5-18 18:08:56 | 显示全部楼层 |阅读模式
近来写了几个红外遥解码,概括一下,关键在于脉宽测定。
下边这个程序在STM32F103C8上运行。
定时器中断计数,接收头外部中断 ,判断脉宽计数,实现解码。pa0-pa7显示键码

关键点是:
定时器中断计数器+1,每秒10000次(100us),
则起始码为计数=0X5A次左右,1码为计数0X16=左右,0码为计数=0x0C左右。
这个左右一般在上下1个数,程序中放宽到上下4个数。
  1. if(Tim>=0x40 && Tim<0x70)
  2.                                 {Ok=1;//收到起始信号
  3.                                                          Num=0;        
  4.                                                         sdata0=Tim;        //试验=5a-5b
  5.                                                         }
  6.                                                         
  7.                          else if(Tim>=0x12 && Tim<0x1B)
  8.                                {
  9.                                       hw_jsm>>=1;
  10.                                      hw_jsm |= 0x80000000;//收到数据 1
  11.                                      // beep=!beep;
  12.                                Num++;
  13.                                                         sdata1=Tim;        //试验=16-17
  14.                                }
  15.                                                         
  16.                          else if(Tim>=0x07 && Tim<0x10)        
  17.                                      {  
  18.                                       hw_jsm>>=1;
  19.                                      hw_jsm |=0;//收到数据 0
  20.                                      // beep=!beep;
  21.                                Num++;
  22.                                                         sdata2=Tim;        //试验=0b-0c
  23.                                                 }
  24.                                                 
  25.                   if(Num==32)
  26.                             {
  27.                              hw_jsbz=1;
  28.                              Num=0;
  29.                                          DataD=hw_jsm;//结果出来了
  30.                                    Ok=0;
  31.                             }
复制代码

完整源码 PB15中断TIM定时器红外解码.zip (373.31 KB, 售价: 1 金币)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|比特138 |网站地图

GMT+8, 2020-9-26 07:35 , Processed in 0.028940 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表