新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于μC/OS-III及STM32的多功能控制器設(shè)計(jì)

基于μC/OS-III及STM32的多功能控制器設(shè)計(jì)

作者: 時(shí)間:2014-10-19 來(lái)源:網(wǎng)絡(luò) 收藏

  電動(dòng)軌道車控制系統(tǒng)一般分為多個(gè)子系統(tǒng),子系統(tǒng)受一個(gè)主控器控制。這樣的結(jié)構(gòu)設(shè)計(jì)繁瑣,編程復(fù)雜。采用μC/OS-III操作系統(tǒng)、F103RC微控制器、液晶屏、PVC按鍵、無(wú)線串口模塊、鋰電池等實(shí)現(xiàn)具有人機(jī)界面、無(wú)線串口功能的總線主控器。該控制器具有人機(jī)界面、軌道車主控器、遙控接收器、遙控面板等多種功能,并且能在不同項(xiàng)目中使用。(※ μC/OS-III從官網(wǎng)上下載,文件名為Micrium_uC-Eval-F107_uCOS-III,版本為V1.29.01.00。)

本文引用地址:http://2s4d.com/article/264099.htm

  1 硬件結(jié)構(gòu)

  從系統(tǒng)接口看,該控制器具有顯示、按鍵、無(wú)線收發(fā)、串口、485總線等接口,作遙控面板時(shí)用電池供電,內(nèi)部具有電池和充電電路。硬件框圖如圖1所示。

  圖1中無(wú)線串口用模塊實(shí)現(xiàn)系統(tǒng)遙控功能,顯示器用并口連接。鍵盤部分有或門電路,可實(shí)現(xiàn)按鍵中斷。電源電路中的外部電壓、電池電壓可被控制器測(cè)量,當(dāng)測(cè)量得到無(wú)外部電壓輸入時(shí),控制器自動(dòng)切換到遙控面板模式。485總線接口用于和其他子系統(tǒng)通信。

  

 

  圖1 多功能控制器硬件框圖

  2 系統(tǒng)移植

  F1XX固件庫(kù)最新版本為V3.5.0.μC/OSIII支持的庫(kù)文件版本為V2.1.0.為了μC/OS-III能夠在最新的固件庫(kù)上運(yùn)行,首先用新固件庫(kù)替換原有固件庫(kù)代碼并改變?nèi)肟陬^文件名,然后有兩處代碼需要作修改。一是芯片時(shí)鐘初始化函數(shù),函數(shù)名為“BSP_Init”,修改為:

  

 

  二是操作系統(tǒng)時(shí)鐘初始化函數(shù),函數(shù)名為“OS_CPU_SysTickInit”,修改為:

  

 

  這兩處都是因?yàn)樵泄碳?kù)需要多條語(yǔ)句才能實(shí)現(xiàn)時(shí)鐘初始化,新版本提供專門的初始化函數(shù)。

  3 驅(qū)動(dòng)編寫(xiě)

  3.1 鍵盤驅(qū)動(dòng)的編寫(xiě)

  μC/OS-III具有任務(wù)信號(hào)量的功能,該信號(hào)量隨著任務(wù)的創(chuàng)建而創(chuàng)建。鍵盤驅(qū)動(dòng)有鍵盤掃描任務(wù)實(shí)現(xiàn),按鍵觸發(fā)外部中斷,外部中斷發(fā)送任務(wù)信號(hào)量到鍵盤掃描任務(wù),鍵盤掃描任務(wù)掃描鍵盤并把鍵值保持在全局變量中。代碼如下:

  

 

  3.2 液晶顯示器printf函數(shù)

  液晶顯示器一般是輸入一個(gè)字符的編碼和位置然后顯示出來(lái),不能實(shí)現(xiàn)字符串格式化顯示。實(shí)現(xiàn)printf,首先使用格式化函數(shù)“vsnprintf”得到格式化后的字符串,然后該字符串被打印到屏幕上。具體函數(shù)如下:

  


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: μC/OS-III STM32 12864

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉