小猿助你freeRTOS驅動開發

主要介紹在移植好的基於NXPkinetis K64+freeRTOS平臺上添加Modbus驅動。web

對freeRTOS不懂或者移植不懂的能夠看看以前公衆號的文章瀏覽器

小猿送你freeRTOS移植詳細筆記
微信

快速學會web Server的裁剪移植
框架

freeRTOS信號量學習
函數

freeRTOS任務建立
學習

freeRTOS源碼目錄結構分析
spa

準備工做:.net

1基於以前移植好的K64+freeRTOS平臺設計

2,裝有IAR的電腦調試

3,塔式系統平臺TWR-K64F120M

以前曾屢次提到過,移植一個源碼包,必須熟悉他的源碼目錄結構,因此本次移植前,假設你已經熟悉freeRTOS源碼目錄結構,若是不熟悉,請自行學習。以前移植好的K64帶有一個簡單的webserver,咱們在添加Modbus後,能夠把modbus讀上來的數據經過webserver提供給客戶端訪問,能夠實現一個網關的功能。

  驅動開發


其實主要添加的文件就是UART驅動和Modbus_Task任務,另外按照標準協議,須要一個定時器來檢測Modbus幀完成中斷。

咱們用的是UART5來實現,須要注意的是UART5 使用的時鐘是Bus clock,而不是系統時鐘,咱們系統你們知道最初的移植是使用96M時鐘,2分頻後爲bus Clock,因此UART5使用48M時鐘,初始化時候要注意,這個最初在調試時候由於都是複用以前的代碼,因此沒有注意,剛開始串口不工做,後來查看數據手冊調整時鐘後就行了,固然你也可使用KSDK的驅動,可是仍是要修改才能用於Modbus通訊。在主任務中建立Modbus任務和用於中斷的信號量


在幀完成的定時器中斷檢測中按照freeRTOS的中斷機制須要添加

其實主要是在咱們以前的UART驅動上添加了兩個freeRTOS 的中斷專用API函數。

在中斷向量表中添加串口和定時器中斷。

另外還須要注意的是由於咱們此次是Modbus主站,與一個Modbus從站通訊讀取從站設備的一些狀態,如電流,電壓,溫度等,因此儘可能按照Modbus主站的狀態圖來開發

最後須要注意的是,將Modbus讀取的數據與webserver的數據進行映射,就能夠實現從modbus到HTTP的網關功能,將底層一些設備的參數,狀態,在網頁上顯示。稍微修改就能夠用於實際項目。

 

本設計主要設計到Modbus主站開發,webserver 移植和網頁修改,經過網線將此K64塔式系統接入無線路由器,也能夠經過手機,平板等設備在瀏覽器端訪問到數據。只要你弄懂了這一套框架,還能夠給你的設備接入更多外設,像WIFI, BLE,等無線外設驅動,實現更多豐富的功能。


/*******************************************************************/

/*本公衆平臺長期承接嵌入式項目開發,產品設計,設計外包等,爲您提供*/

/*一站式交鑰匙解決方案和設計。歡迎致電諮詢:18706715925 武工*******/

/******************************************************************/


本文分享自微信公衆號 - 嵌入式程序猿(InterruptISR)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索