使用keil MDK5.23的CMSIS Driver層的USART驅動

前言 
keil mdk自版本5以來,就主推使用包管理器來靈活開發應用。推出了Management Run-Time Environment。用戶在新建工程的時候,可以根據項目需要,選擇組件。簡單的說就是,ARM推出這些標準,旨在用戶快速開發的自己的應用程序,無需用戶關心底層的邏輯實現。因此,我們儘可放心使用。 
一、創建工程 
新建工程時選擇目標設備芯片,然後彈出的運行環境管理窗口,開始選擇自己需要的組件。選擇CMSIS Driver 的USART,在下拉列表中選擇USART,可以看到後面介紹是基於設備PHY的。選擇後sel複選框會變黃,validation output窗口會提示缺乏相應的文件,點擊resolve,運行環境管理器就可以自動選中相應的依賴。最後選上啓動文件。點擊ok就創建了基本工程。 
這裏寫圖片描述
配置RTE_Device.h。High-speed Clock可根據具體設備的晶振來改寫。另外需打開USART1 
這裏寫圖片描述
然後添加main.c文件。增加相應的函數 
二、使用驅動API 
ARM將驅動中斷層轉換爲事件驅動,串口回調函數可以不作處理。 
這裏寫圖片描述 
該程序在main函數中調用串口初始化,電源配置、串口配置等函數。只打開了發送功能。最後調用send()函數發送測試字符串。使用串口調試助手可以看到成功發送字符串。 
這裏寫圖片描述 
三、使用printf函數 
以前使用printf函數一般都是重定義fputc函數,現在keil提供完整的std輸入輸出文件。一般這個是用來配合其中間件Debug調試使用。但是我們也可以單獨使用。在RTE_Device.h中選擇Stdout 
這裏寫圖片描述
增加stdout_USART.c文件 
這裏寫圖片描述
配置std_USART.c文件。打開並進如configuration wizard窗口模式,選擇串口設備和配置波特率 
這裏寫圖片描述
接下來就要刪改main函數了,因爲std_usart.c已經使用了USART1設備,並且已經初始化,所以我們只需在外部調用stdout_int()即可。 
這裏寫圖片描述 
四、總結 
由此可見,keil5在創建Cortex-M系列的芯片工程時,是非常方便的。基本上通用的外設的驅動都已經寫好,我們只需調用使用即可。從而避免了一些自己寫驅動出現的錯誤問題。但這個也不能太依賴於此。畢竟前提是,自己能夠寫驅動函數,熟悉芯片的外設工作機理。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章