會員登陸
網站導航
最新下載
- Microchip 程式... (Tue, 17-Apr-2018)
- Microchip 程式... (Mon, 09-Apr-2018)
- Microchip2018微... (Fri, 19-Jan-2018)
- Microchip 2018 ... (Tue, 19-Dec-2017)
- 2017 精英年會特... (Wed, 11-Oct-2017)
- 2017 秋 研討會... (Wed, 11-Oct-2017)
- 2017 暑期微控制... (Fri, 07-Jul-2017)
- ATM6 講義與實作... (Tue, 27-Jun-2017)
- ATM5 講義與實作... (Tue, 27-Jun-2017)
- ATM4 講義與實作... (Tue, 27-Jun-2017)
訪問統計 (自2012/5/3)
|
正在流覽:
1 名訪客
|
請教MCU程式結構化範例 |
|
初級會員 
註冊日期: 2017/01/05 17:30
所屬群組:
註冊會員
文章: 35
等級: 4; EXP: 68 HP : 0 / 92 MP : 11 / 346
|
貴站教學資源上都是單個小方面程式的應用 但如果把這些多種小程式結合起來卻不知該如何下手 請問是否有整合多種功能的結構化程式教學或範例?(例如:在一個產品上系統化的程式、state machine)
Best regards
2017/06/12 14:45
|
|
|
Re: 請教MCU程式結構化範例 |
|
版主 
註冊日期: 2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者 註冊會員 MICROCHIP
文章: 14262
等級: 72; EXP: 68 HP : 1075 / 1792 MP : 4754 / 73180
|
組合起來後通常會是個大程式。 我建議你可以參考 : W402T v2.0 PIC18F整合應用課程 W301 Advance PICC Application這兩個應用程式的寫法,這程式是採模組化的設計,要加入功能變得更簡單。 http://www.microchip.com.tw/Data_CD/8-Bits MCU 相關課程 下:
2017/06/12 15:22
|
|
|
Re: 請教MCU程式結構化範例 |
|
中級會員 
註冊日期: 2015/05/27 22:04
所屬群組:
註冊會員
文章: 47
等級: 5; EXP: 67 HP : 0 / 116 MP : 15 / 990
|
利用Ryang提供的資料, 你可以自己嘗試整合。 比如說,你要學習state machine, 按鈕切換state,如果在最後一個state切換,則跳回第一個state. 每一個state對應某個功能,如顯示電壓(ADC),顯示溫度,跑馬燈,... 使用switch case 來做state machine. 每一個主要的state內,可以另有次級的state,由這些次級state組成某個主要功能。
以我自己曾寫過的某某訊號模擬器為例子, 經由UART的接收中斷收到PC端的命令, 符合長度或特定字首,代表接收完畢,設定接收完成的旗標。 主程式內,檢查到接收完成的旗標==1,則呼叫parseCommand函數, 在parseCommand函數內解析命令, 如果命令合法,則依照命令的種類,切換主要state,和次級的state. 主迴圈內根據主要state,和次級的state,執行對應的動作。 如果某些動作與時間相關或是外部輸入有關, 你可以在相關的中斷內設定旗標,然後在state內檢查旗標, 符合某些條件,就切換到其他的state(或STATE_IDLE). (如果執行的動作不希望被新的PC端命令打斷,則應該暫時停止UART接收中斷,等執行的動作完成後,再enable UART接收中斷)
多看,多寫,測試。這樣比較容易自行擴展開發新的案子。 切貼修改別人的程式碼,最好自己動手整合過。 以免案子所需功能,恰巧是沒有現成可以剪貼過來用的,就有可能卡住。
2017/06/12 21:08
|
|
|
Re: 請教MCU程式結構化範例 |
|
初級會員 
註冊日期: 2017/01/05 17:30
所屬群組:
註冊會員
文章: 35
等級: 4; EXP: 68 HP : 0 / 92 MP : 11 / 346
|
多謝argogee先進指點!!
2017/06/29 14:35
|
|
您無法在此發表文章
您可以在此觀看文章
您無法回覆文章
您無法編輯自己的文章
您無法刪除自己的文章
您無法發起投票調查
您無法在此投票
您無法上傳附加檔案
您無法不經審核直接發表文章
|
搜尋
Microchip連結
網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
|