新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 體感遙控器設計遭遇瓶頸?用STM32 MCU造!

        體感遙控器設計遭遇瓶頸?用STM32 MCU造!

        作者: 時間:2013-12-21 來源:網絡 收藏
        據包發送出去;App_TaskData任務在每發送一次指令數據包后,通過nRF24L01無線模塊接收機器人本體回傳的運動狀態信息包;App_TaskLCD任務實現運動指令、機器人運動狀態、電池電量、實時時鐘在12864液晶顯示模塊上的顯示;App_TaskLED_B任務通過LED指示遙控器上的主控芯片與iNEMO慣性導航模塊、遙控器與機器人是否通信正常,當電池電量過低時,通過蜂鳴器進行報警;App_TaskClock任務得到DS1302的實時時鐘,通過消息郵箱App_LCDClockMbox發送給App_TaskLCD任務予以實時顯示。

          3.2 任務間通信設計

          任務和中斷服務子程序可以通過事件控制塊與其他任務進行通信,常用的通信方式有信號量、郵箱和消息隊列,同時,通過事件標志實現任務與事件之間的同步。本操作系統共創建了8個消息郵箱和1個事件標志:

          OS_EVENT *App_AHRSMbox

          OS_EVENT *App_CommandMbox

          OS_EVENT *App_DataMbox

          OS_EVENT *App_ADMbox

          OS_EVENT *App_LCDCmdMbox

          OS_EVENT *App_LCDDataMbox

          OS_EVENT *App_LCDADMbox

          OS_EVENT *App_LCDClockMbox

          OS_FLAG_GRP *App_GreenLEDFlag

          其中,App_GreenLEDFlag包括3個標志位:

          #define Flg_GreenLED 0x0001

          #define Flg-BlueLED 0x0002

          #define Flg_Buzzer 0x0004


          3.3 軟件系統流程圖設計

          軟件系統流程圖如圖4所示。經上電初始化后,首先采集電池電壓,然后通過郵箱*App_ADMbox將采集得到的電量值發送給 12864液晶顯示模塊進行顯示,若電量過低,則使標志位Flg_Buzzer置位,即通過蜂鳴器進行報警。并且,通過DMA把iNEMO慣性導航模塊的數據接收到USART1,判斷校驗位是否正確,若不正確則重新配置DMA,重新接收數據;若正確則將接收到的數據轉化為控制指令,通過nRF24L01無線模塊發送給機器人。同時通過郵箱*App-LCDCmdMbox將指令發送給App_TaskLCD任務,在12864液晶顯示模塊顯示當前發送的指令,并通過置位Flg_GreenLED點亮相應LED,以表示F103C8T6與iNEMO模塊通信正常;機器人本體接收到指令后,會給遙控器返回數據包,如果遙控器接收的數據錯誤標志位沒有置位,則說明遙控器與機器人本體通信正常,通過郵箱*App_LCDDataMbox將機器人的狀態信息發送給App_Tas kLCD任務,在12864液晶顯示模塊上顯示機器人本體運動狀態,同時通過置位Flg_BlueLED點亮相應LED,以表示遙控器與機器人本體通信正常。App_TaskClock任務通過郵箱*App_LCDClockMbox向App_TaskLCD任務發送當前時間信息,并予以顯示。

        體感遙控器設計遭遇瓶頸?用STM32 MCU造!  

          軟件系統開發環境為IAR EWARM5.4,μC/OS-II版本為V2.86,F103C8T6的調試工具為J-Link仿真器,F103C8T6的固件庫版本為V2.0.3。

        萬能遙控器相關文章:萬能遙控器代碼


        蜂鳴器相關文章:蜂鳴器原理
        紅外遙控器相關文章:紅外遙控器原理


        關鍵詞: 體感遙控器 STM32 MCU

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 温州市| 蓬安县| 垦利县| 昔阳县| 海原县| 湛江市| 甘肃省| 长子县| 盐边县| 仲巴县| 绍兴县| 鞍山市| 邵阳县| 井陉县| 宣化县| 海淀区| 崇礼县| 伊宁市| 凤庆县| 泸溪县| 射洪县| 海盐县| 安国市| 惠来县| 濮阳县| 永年县| 太白县| 缙云县| 尼勒克县| 南雄市| 三江| 德兴市| 蒙自县| 体育| 云安县| 基隆市| 社会| 乌兰浩特市| 青州市| 长沙县| 云安县|