国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
電子工程網
標題:
STM32F072B_DISCOVERY開發板飛利浦RC-5(SAA3010)協議紅外遙控器解碼源程序
[打印本頁]
作者:
sanqing
時間:
2014-3-17 23:53
標題:
STM32F072B_DISCOVERY開發板飛利浦RC-5(SAA3010)協議紅外遙控器解碼源程序
基于免費申請的STM32F072B_DISCOVERY開發板 對常用飛利浦RC-5(SAA3010)協議紅外遙控器解碼的測試,附源碼供有需要的朋友參考。
SAA3010是使用RC-5編碼,有2位起始位、1位控制位、系統碼占5位、指令碼占6位, 一幀數據共占14位。其控制位每按一次
按鍵便會翻轉一次,在編制發射程序的時候一定要注意。
電路連接很簡單說明如下。
腳連接說明:
1、串口使用STM32F072B_DISCOVERY開發板的USART1,管腳接PA9(TX)、PA10(RX)。
2、一體化紅外接收頭數據輸出端連接STM32F072B_DISCOVERY開發板的PA8管腳。
功能說明:
紅外遙控器的發射信號經一體化紅外接收頭數據端輸出,由STM32F072B_DISCOVERY開發板的PA8端口采樣(PA8配置為外部中斷下降沿觸發),由SysTick系統滴答定時器延時每20us采集一次,通過計數的方式得到一幀的所有低電平時間、高電平時間。通過對高、低電平時間的長短分析得出數據碼IrDA_receive_Code,使用printf語句由《串口調試助手》顯示RC-5紅外編碼格式的14位編碼。
系統上電后LED3(紅色)閃爍,已說明接收系統正在運行中。按遙控按鍵,LED4(橙色)點亮,說明已進入中斷解碼,解碼完成后LED4(橙色)熄滅。
中斷函數
如下(其他部分與NEC解碼基本相同。請參閱
STM32F072B_DISCOVERY開發板NEC紅外編碼格式解碼程序源碼
http://m.qingdxww.cn/thread-127802-1-1.html
)
//////////PA8外部中斷函數//////////////////////////////////////////////////////////////
void EXTI4_15_IRQHandler(void)
{
u8 Data;
u8 flag=0; //進入低電平時間為1.688ms(TimL>=75 && TimL<=90)標志:flag=1
if(EXTI_GetITStatus(EXTI_Line8) != RESET)
{
/* Toggle LED4 */
GPIO_SetBits(GPIOC, GPIO_Pin_8);
TimL=IrDA_receive_timeL();//獲得第一個低電平時間
TimH=IrDA_receive_timeH();//獲得第一個高電平時間
if(TimL>=35 && TimL<49 && TimH>=35 && TimH<49) //TimL、TimH:0.7ms--0.98ms(標準:0.844ms)
{
IrDA_receive_Code=1; //RC-5編碼判斷低電平獲得數據,第一位起始碼為1
while(1)
{
if(IrDA_IN==0)
{
TimL=IrDA_receive_timeL();//獲得此次低電平時間
/******************************************************************************/
//RC-5編碼一位數據:“1”接收為:先高電平0.844ms+低電平0.844ms
//RC-5編碼一位數據:“0”接收為:先低電平0.844ms+高電平0.844ms
//如果接收的低電平為1.688ms,則說明接收了一個高電平和一個低電平,即數據位2
//只有前次低電平時間為1.688ms(TimL>=75 && TimL<=90),后面的短的低電平為“0”,其他情況均為“1”
/******************************************************************************/
if(TimL>=35 && TimL<=49) //0.7ms--0.98ms(標準:0.844ms)
{
if(flag==1)
{
Data=0;//收到數據 0
IrDA_receive_Code<<=1;
IrDA_receive_Code+=Data;
}
else
{
Data=1;//收到數據 1
IrDA_receive_Code<<=1;
IrDA_receive_Code+=Data;
}
}
else if(TimL>=75 && TimL<=90) //1.5ms--1.8ms(標準:1.688ms)
{
flag=1;
Data=2;//收到兩位數據1和0,即 2
IrDA_receive_Code<<=2; //數據碼左移2位
IrDA_receive_Code+=Data;
}
else //信號異常(可能是干擾)
{
printf("紅外編碼接收異常,請重按遙控按鍵 TIMEL=%d\r\n",TimL);
break;
}
}
if(IrDA_IN==1)
{
TimH=IrDA_receive_timeH();//獲得此高低電平時間
if(TimH>=75 && TimH<=90) flag=0;
if(TimH>=1800) //末位高電平時間超過36ms說明解碼完成,退出解碼循環
{
IrDA_receive_flag=1;
// printf("接收RC-5編碼為 :%X\r\n",IrDA_receive_Code);
break;
}
}
}
}
else
{
printf("非RC-5編碼\r\n");
}
}
delay_ms(500);//延時-防止按鍵時間過長,再次進入中斷
GPIO_ResetBits(GPIOC, GPIO_Pin_8);
// EXTI->PR=1<<8; //清除LINE8上的中斷標志位
/* Clear the EXTI line 8 pending bit */
EXTI_ClearITPendingBit(EXTI_Line8);
// EXTI->IMR&=0XFFFFFEFF;;// 關閉line8 BITx上的中斷(此為紅外中斷)
}
復制代碼
系統時鐘配置:
采用內部HSI(8Mhz)作為時鐘源,經PLL6倍頻到48Mhz輸出。AHB clock = SYSCLK、APB clock = HCLK
注:如不配置,采用系統默認的HSI(8Mhz)時鐘,由于指令周期長了(指令周期占用時間長)采集出的時間與實際偏差較大。
附件: 使用MDK-ARM 5.10編譯
RC5紅外解碼.rar
(1.93 MB)
2014-3-17 23:44 上傳
點擊文件名下載附件
飛利浦RC-5協議紅外遙控器解碼程序
下載積分: 積分 -1
作者:
鋒尚
時間:
2014-3-18 10:39
感謝分享啊,好東西。。。。
作者:
yzb0414
時間:
2014-3-20 12:22
感謝分享
作者:
qqfishbaby
時間:
2014-3-22 10:31
感謝樓主 ! 編譯器用的是keil哪個版本? 我的版本怎么沒有stm32f072的
作者:
lkl0305
時間:
2014-3-22 17:50
多謝分享啊
作者:
lkl0305
時間:
2014-3-22 17:53
qqfishbaby 發表于 2014-3-22 10:31
感謝樓主 ! 編譯器用的是keil哪個版本? 我的版本怎么沒有stm32f072的
看這個帖子
http://m.qingdxww.cn/thread-127306-1-1.html
MDK5.1中有
作者:
sanqing
時間:
2014-3-22 21:10
qqfishbaby 發表于 2014-3-22 10:31
感謝樓主 ! 編譯器用的是keil哪個版本? 我的版本怎么沒有stm32f072的
使用MDK-ARM 5.10編譯。六樓的鏈接有下載地址。
作者:
lianyihu
時間:
2014-7-3 09:44
這種帖子一定要支持!
作者:
mcu_wolf
時間:
2014-7-19 00:18
感謝樓主分享。。。
作者:
lygpetter
時間:
2014-8-6 16:26
樓主辛苦了!
作者:
longor1991
時間:
2015-7-13 14:32
很不錯,樓主辛苦了
作者:
lr00168
時間:
2015-12-6 19:57
感謝樓主 !學習中,,,
作者:
wenlyben
時間:
2018-5-10 19:06
感謝分享,支持樓主
歡迎光臨 電子工程網 (http://m.qingdxww.cn/)
Powered by Discuz! X3.4
主站蜘蛛池模板:
青青草99久久精品国产综合
|
一级毛片免费毛片一级毛片免费
|
亚洲依依成人综合在线网址
|
亚洲午夜免费
|
日韩国产欧美一区二区三区
|
一本到亚洲网
|
亚洲成aⅴ人在线观看
|
奇米网777四色国产精品
|
青青青国产视频
|
天天舔天天爽
|
亚洲美女一区
|
亚洲午夜免费视频
|
人妖毛片
|
日本高清色视频www
|
日韩欧美精品在线
|
欧美日韩专区
|
亚洲a影院
|
日韩综合在线视频
|
亚洲综合视频在线观看
|
特片网我不卡
|
亚洲色图插插插
|
欧美一级一级做性视频
|
色综合综合色
|
视频在线观看一区二区
|
特级毛片免费视频观看
|
手机免费看a
|
亚洲国产日韩欧美在线
|
色综合天天射
|
色尼玛亚洲
|
日本亚洲欧美
|
人人干人人草
|
青青操在线观看
|
亚洲国产成人精品女人久久久
|
色视频免费国产观看
|
亚洲美女网址
|
青青草国产97免久久费观看
|
亚洲精品xxxxx
|
亚洲第一区第二区
|
天天干天天色天天干
|
一个色综合网站
|
欧美国产亚洲18
|