999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于stm32實現(xiàn)的紅外遙控控制USB鼠標(biāo)

2015-06-13 01:25:06權(quán)德奎長安大學(xué)西安710021
山東工業(yè)技術(shù) 2015年11期

權(quán)德奎(長安大學(xué), 西安 710021)

基于stm32實現(xiàn)的紅外遙控控制USB鼠標(biāo)

權(quán)德奎
(長安大學(xué), 西安 710021)

摘 要:嵌入式技術(shù)的發(fā)展早已成為信息化產(chǎn)業(yè)中不可缺少的重要一頁。本文旨在應(yīng)用嵌入式技術(shù)開發(fā)基于STM32實現(xiàn)的紅外遙控控制USB鼠標(biāo),從更多的角度和細(xì)節(jié)闡述基于STM32在實際開發(fā)中需要注意和學(xué)習(xí)的細(xì)節(jié)。這也是一次從理論到到實踐的過程。

關(guān)鍵詞:STM32中斷系統(tǒng);STM32通用定時器;STM32紅外遙控

加快嵌入式技術(shù)的開發(fā)應(yīng)用,掌握嵌入式開發(fā)核心技術(shù),對于未能趕上前幾次世界范圍計算機(jī)技術(shù)發(fā)展機(jī)遇的中國來說非常重要。基于SΤM32實現(xiàn)的紅外遙控控制USB鼠標(biāo)就是利用SΤM32的中斷系統(tǒng)將各模塊相互連接。當(dāng)SΤM32捕獲到信號時,向CUP發(fā)送中斷請求,然后響應(yīng)該中斷,對中斷進(jìn)行處理。SΤM32通過識別捕獲到的紅外信號向PC端通過USB協(xié)議發(fā)送鼠標(biāo)控制信號。

1 STM32中斷系統(tǒng)

在SΤM32中,外部中斷可由每一個I/O口進(jìn)行外部事件的中斷觸發(fā)。在中斷控制器支持的19個外部中斷事件中,只有線0至15對應(yīng)外部I/O的輸入中斷,線16則連接到PVD的輸出,線17連接到RΤC的鬧事件,線18連接到USB的喚醒時事件。在主程序運行之前,需要先進(jìn)行中斷初始化,包括使能中斷通道、中斷優(yōu)先級分組初始化、配置中斷線。當(dāng)有多個中斷時,CUP處理中斷時嚴(yán)格按照中斷優(yōu)先級分組來決定處理哪個中斷。中斷優(yōu)先級分為搶占優(yōu)先級和子優(yōu)先級,中斷處理的順序先有搶占優(yōu)先級決定,當(dāng)搶占優(yōu)先級相同時,則由子優(yōu)先級決定。

2 STM32通用定時器

SΤM32的通用定時器是一個通過可編程預(yù)分頻器(PSC)驅(qū)動的16位自動裝載計數(shù)器(CNΤ)構(gòu)成。在這次開發(fā)中,SΤM32的通用定時器主要用于測量輸入信號的脈沖長度即輸入捕獲。當(dāng)輸入捕獲發(fā)生時將產(chǎn)生中斷/DMΑ。當(dāng)從獨立通道中捕獲到外界信號時,定時器將測量外界信號的周期、占空比來實現(xiàn)信號的識別。例如,在測量時,定時器設(shè)置為邊沿觸發(fā),即定時器會計算信號上升沿和下降沿之間的時間差,其計算精度取決于定時器本身頻率的精度。在測量方法中分為測頻法和測周法,當(dāng)被測信號頻率大于中介頻率時采用測頻法,即在SΤM32中采用測頻法。

3 STM32紅外遙控

紅外遙控是通過紅外發(fā)射信號的過程,在遙控器上不同的按鍵所發(fā)射的信號是不同的,這樣在接受端才能區(qū)別按鍵。紅外是不能穿墻的,但紅外遙控器也有無線電遙控器無法比擬的優(yōu)點—在多個紅外遙控器同時使用時,盡管采用相同的遙控頻率或編碼,但不會出現(xiàn)遙控信號“串門”的情況。在一點在家電中運用非常廣泛。在SΤM32中,我們使用的紅外遙控器編碼方式為PWM(脈沖寬度調(diào)制)的NEC協(xié)議。其特征為:8位地址和8位指令長度;地址和命令2次傳輸(確保可靠性);PWM脈沖位置調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1”;載波頻率為38Khz;位時間為1.125ms或2.25ms。不同的邏輯和位碼采用了不同時間間隔的紅外高低脈沖。地址碼和控制碼等都采用8位的數(shù)據(jù)格式,且用反碼表示以增加傳輸?shù)目煽啃浴?/p>

4 STM32的主程序

在主程序中,首先要完成SΤM32的延時函數(shù)、中斷分組設(shè)置、串口初始化、紅外接受初始化、USB配置及初始化,其次就是while循環(huán)部分,這部分是最核心、最主要的一部分。在while(1)的死循環(huán)中,首先對遙控器的按鍵進(jìn)行監(jiān)控掃描。遙控器上的每一個按鍵都對應(yīng)一個獨一無二的鍵值key。通過函數(shù)Remote_Scan()進(jìn)行按鍵監(jiān)控掃描,若沒有檢測到按鍵,則鍵值key為假,若檢測到遙控器有按鍵,則獲取相應(yīng)的鍵值并保存到key中,并通過switch(key)對不同的key進(jìn)行不同的處理。對相應(yīng)key值的處理實際上就是準(zhǔn)備要發(fā)送的控制鼠標(biāo)的數(shù)據(jù)。如何對相應(yīng)的key值經(jīng)行數(shù)據(jù)處理呢,在這里,就要先了解它的發(fā)送數(shù)據(jù)的函數(shù)Joystick_Send(a,b,c,d)。參數(shù)a是一個八位的數(shù)據(jù),a的不同位置1分別代表鼠標(biāo)中鍵按下、右鍵按下、左鍵按下、xy坐標(biāo)的變化量和變化符號(光標(biāo)移動方向)等。參數(shù)b表示x坐標(biāo)的變化量,這個變化量是相對上一次坐標(biāo)的變化量。參數(shù)c表示y坐標(biāo)的變化量,同理為相對變化量。參數(shù)d為滾輪的變化,可以控制滾輪的上下滾動和滾動速率。這里要介紹一下電腦的坐標(biāo)系,電腦的坐標(biāo)系不同于一般的直角坐標(biāo)系。電腦坐標(biāo)以屏幕左上角為原點,水平向右為x軸正方向,豎直向下為y軸正方向。了解了數(shù)據(jù)發(fā)送函數(shù),就可以經(jīng)行數(shù)據(jù)準(zhǔn)備了。例如接受的鍵值key代表鼠標(biāo)左鍵按下,則設(shè)置參數(shù)a的相應(yīng)位;若key代表鼠標(biāo)右移,則設(shè)置參數(shù)b為相應(yīng)整數(shù);若key代表鼠標(biāo)滾輪上滾,則設(shè)置參數(shù)d。理論上講,這樣的數(shù)據(jù)處理已經(jīng)比較完美了,可在實際使用中會發(fā)現(xiàn)另外一個問題,就是鼠標(biāo)移動靈敏度的問題。這時需要定義另外一個參數(shù)s代表靈敏度,在發(fā)送坐標(biāo)數(shù)據(jù)b和c時,改為發(fā)送b*s和c*s,這樣就可以相應(yīng)地擴(kuò)大或減小鼠標(biāo)靈敏度了。當(dāng)發(fā)送完數(shù)據(jù)后,需要將b、c、d數(shù)據(jù)清0。以上的處理在檢測到鍵值key的情況下,當(dāng)沒有檢測到鍵值的情況下,若之前有鍵按下,則需發(fā)送松開命令,即將a置為0。以上的整個過程都處在while(1)的死循環(huán)中,這樣的話,當(dāng)鼠標(biāo)長時間沒有移動的時候就會造成資源浪費。這里提供一個解決思路:當(dāng)鼠標(biāo)在一定時間內(nèi)沒有任何觸發(fā)信號產(chǎn)生時,可認(rèn)為此時之后的很長一段時間內(nèi)都不會有信號產(chǎn)生,可將SΤM32設(shè)置為休眠狀態(tài)。當(dāng)有觸發(fā)信號產(chǎn)生時,可先用該觸發(fā)信號將SΤM32從休眠狀態(tài)喚醒,當(dāng)程序正常執(zhí)行時,再處理 該信號(當(dāng)然,也可以直接將該信號丟棄)。

5 結(jié)論

基于SΤM32實現(xiàn)的紅外遙控控制USB鼠標(biāo)旨在研究嵌入式系統(tǒng)的原理及系統(tǒng)設(shè)計。在本次的開發(fā)中涉及到嵌入式特別重要的定時器、中斷等概念,將書本知識運用于實際,注重基礎(chǔ)知識,為以后嵌入式開發(fā)奠定良好基礎(chǔ)。

參考文獻(xiàn):

[1]劉藝,許大琴,萬福.嵌入式系統(tǒng)設(shè)計大學(xué)教程[M].北京:人民郵電出版社,2008.

[2]李智奇,白小平,陳曉龍,樊曉虹.MSP430系列超低功耗單片機(jī)原理與系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2008.

[3]趙玉田.刮楔鐵快速夾緊工具[J].設(shè)備維修.1982(06).

作者簡介:權(quán)德奎(1993-),男,四川蒼溪人,本科,研究方向:嵌入式系統(tǒng)開發(fā)。

主站蜘蛛池模板: 亚洲av无码片一区二区三区| 亚洲视频一区| 日韩在线永久免费播放| 中文字幕亚洲无线码一区女同| 91成人在线免费观看| 成人免费午夜视频| 欧美视频在线第一页| 久久综合亚洲色一区二区三区| 91区国产福利在线观看午夜| 国产性生大片免费观看性欧美| 色婷婷天天综合在线| 综合天天色| 久久午夜夜伦鲁鲁片不卡| 日韩久久精品无码aV| 久视频免费精品6| 国产视频一区二区在线观看| 亚洲专区一区二区在线观看| 日韩欧美中文字幕一本| 国产视频a| 日韩免费视频播播| 色综合久久综合网| 精品少妇人妻无码久久| 国产系列在线| 一级毛片无毒不卡直接观看| 国产精品无码久久久久久| 久久91精品牛牛| www.91在线播放| 久久综合五月| 青青操视频免费观看| 999国内精品久久免费视频| 免费观看亚洲人成网站| 欧美精品啪啪| 亚洲国产成人精品无码区性色| 国产精品区视频中文字幕| 亚洲国产中文精品va在线播放| 青青青草国产| 午夜高清国产拍精品| 欧美成人午夜在线全部免费| 国产一级裸网站| 亚洲国产一区在线观看| 综合色在线| 极品性荡少妇一区二区色欲| 91精品国产丝袜| 99青青青精品视频在线| 亚洲国产精品VA在线看黑人| 免费aa毛片| 人妻精品全国免费视频| 国产日韩精品欧美一区喷| 国产成人综合久久精品下载| 国产精品自在在线午夜区app| 国产激情国语对白普通话| 国产欧美综合在线观看第七页| 亚洲国产AV无码综合原创| 欧美国产视频| 一本无码在线观看| 99热这里只有免费国产精品 | 免费又爽又刺激高潮网址| 国产网站免费观看| 国产一二三区在线| 在线亚洲精品自拍| 精品国产Av电影无码久久久| 国产综合网站| 精品久久人人爽人人玩人人妻| 日韩欧美国产区| a亚洲视频| 欧美精品三级在线| 免费欧美一级| 中国国语毛片免费观看视频| 国产内射在线观看| 91在线免费公开视频| 色成人亚洲| 亚洲中文字幕国产av| 欧美人人干| 无码专区国产精品第一页| 国产成人一区在线播放| 久草性视频| 天天摸夜夜操| 日韩无码真实干出血视频| 最新国产高清在线| 欧美性天天| 国产精品视频久| 中文字幕在线看视频一区二区三区|