新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于μC/OS-III及STM32的多功能控制器設計

        基于μC/OS-III及STM32的多功能控制器設計

        作者: 時間:2014-10-19 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/264099.htm

          1 硬件結構

          從系統接口看,該控制器具有顯示、按鍵、無線收發、串口、485總線等接口,作遙控面板時用電池供電,內部具有電池和充電電路。硬件框圖如圖1所示。

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

          

         

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

          2 系統移植

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

          

         

          二是操作系統時鐘初始化函數,函數名為“OS_CPU_SysTickInit”,修改為:

          

         

          這兩處都是因為原有固件庫需要多條語句才能實現時鐘初始化,新版本提供專門的初始化函數。

          3 驅動編寫

          3.1 鍵盤驅動的編寫

          μC/OS-III具有任務信號量的功能,該信號量隨著任務的創建而創建。鍵盤驅動有鍵盤掃描任務實現,按鍵觸發外部中斷,外部中斷發送任務信號量到鍵盤掃描任務,鍵盤掃描任務掃描鍵盤并把鍵值保持在全局變量中。代碼如下:

          

         

          3.2 液晶顯示器printf函數

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

          


        上一頁 1 2 下一頁

        關鍵詞: μC/OS-III STM32 12864

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南召县| 天长市| 巴彦县| 临武县| 汤原县| 页游| 泸溪县| 大理市| 彰武县| 界首市| 南雄市| 宜章县| 博罗县| 兴山县| 秭归县| 沛县| 辛集市| 乌什县| 溆浦县| 浮梁县| 邢台市| 东丽区| 旺苍县| 太康县| 赤城县| 日喀则市| 会同县| 准格尔旗| 城市| 富源县| 嘉祥县| 香港 | 凯里市| 三河市| 乐昌市| 柳林县| 凤凰县| 铜梁县| 旬邑县| 宜君县| 呼图壁县|