国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標題: STM32紅外遙控脈寬解碼程序 PB15中斷TIM定時器 [打印本頁]

作者: 路漫漫    時間: 2020-5-18 18:08
標題: STM32紅外遙控脈寬解碼程序 PB15中斷TIM定時器
近來寫了幾個紅外遙解碼,概括一下,關鍵在于脈寬測定。
下邊這個程序在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 E幣)





歡迎光臨 ELEOK (http://www.afoofa.cn/) Powered by Discuz! X5.0