工控论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 0|回复: 0

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

[复制链接]

113

主题

114

帖子

22

积分

初级会员

Rank: 2

工控币
22
发表于 2020-5-18 18:08:41 | 显示全部楼层 |阅读模式
近来写了几个红外遥解码,概括一下,关键在于脉宽测定。
下边这个程序在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 工控币)
回复

使用道具 举报

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

本版积分规则

免责声明: 工控技术网(www.eleok.com)所有内容均为网友自行发布,不代表网站立场。如有版权纠纷,请联系本站删除:1370723259@qq.com

QQ|小黑屋|手机版|工控技术网 |网站地图

GMT+8, 2020-5-31 12:28

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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