隨着微軟放棄.Net MF ,經過C#編寫STM32 平臺上的程序變得渺茫, 可是, 彆着急, 目前至少有兩個社區在作這件事情, 傳承了微軟的.Net MF , 一家是 nanoframework,另一家比較封閉的是 html
GHI Electronics 地址是: https://github.com/ghi-electronics GHI只支持自家設計生產的開發板,不支持STM32其餘廠商的開發板。所以最佳選擇我認爲是 nanoframework。
實現Hello World 以前, 咱們須要作如下幾步:
1、安裝VS2019 ,在擴展菜單中搜索 nanoframework git
2、選擇開發板
github
選擇開發板很重要, 直接意味着你是否是能完成這件事, 好比筆者, 買了三個開發板, 一個型號不對, 一個快遞丟了, 最後只有一個能用, 型號是STM32F411E-DISCO,他是是ST公司推出的一款針對STM32F411設計的開發板,可幫助您探索STM32F4系列,輕鬆開發本身的應用,還提供有完善的資料能幫助全部初學者和有經驗開發人員快速上手。STM32F411E-DISCO基於STM32F411VET6設計,集成了ST-LINK/V2仿真下載器(但僅對外提供SWD接口),免除您另外採購仿真器或下載器的麻煩;還增添了陀螺儀、電子羅盤、數字麥克風、音頻解碼芯片、OTG USB、 LED和按鈕等外設,方便您學習開發。。詳細資料你能夠訪問 https://www.st.com/zh/evaluation-tools/32f411ediscovery.html 來了解!微信
3、燒寫nanoframework app
從ST官網下載 STM32 ST-LINK Utility 並安裝到你的計算機。 electron
要下載文章中指定的這款開發板固件, 須要前往 https://bintray.com/nfbot/nanoframework-images-community-targets/ST_STM32F411_DISCOVERY/_latestVersion 下載, 若是其餘開發板請前往 https://github.com/nanoframework/nf-Community-Targets 或者 nanoFramework 下載開發板的固件 , 鏈接會最終會引導你到 JFrog Bintray 庫下載預編譯好的nanoframework zip壓縮包,下載完成後 而後解壓他。 學習
最好是經過兩根micro USB 鏈接線鏈接, 一根是USB type A 公口,mini-B 公口,用來經過TAG鏈接 ST-Link調試器, 另一根用來更好的供電, 但低電量模式也是能夠的,另一個能夠是 USB type A 公口,micro-B 公口,用來補充電能。 lua
啓動 e ST-LINK Utility 鏈接你的ST開發板.spa
使用 "full chip erase" 清除閃存..net
文件中選擇剛解壓的壓縮包中的文件 nanoBooter.hex , 而後點 "Program and verify" 按鈕, 在點‘Start’按鈕以前確保選中"Reset after programming" , 而後你可能能夠看到 開發板上的led閃爍速度比之前較慢。
緊接着, 打開文件nanoCLR.hex , 一樣點擊 "Program and verify" 按鈕,並確保 "Reset after programming" 選中後再點擊 "Start", 而後上傳完成, MCU已經充值而且nanoCLR鏡像將開始運行, 這時候LED燈再也不閃爍,
4、經過串口鏈接你到VS
在能經過VS調試以前, 你須要一個 串口轉USB的適配器,將PA2 接在 USART2_TX, PA3 接在USART2_RX 而且將 GND 也一樣接在開發板上。 我選擇的設備信號是 FT232 USB UART Board (mini) , 若是你身邊有同類的, 則不須要, 之因此買它是由於手頭沒有杜邦線,他具有以下特性:
採用原裝FT232RL
支持Mac、Linux、Android、WinCE、Windows 7/8/8.1/10...
支持3種供電模式:5V對外供電;3.3V對外供電;由外部供電(要求3.3V-5V)
帶3個LED:TXD LED、RXD LED、POWER LED
TXD、RXD、RTS#、CTS#:採用彎排針引出
其他功能PIN:預留焊盤(配送排針、排座,可上插或下插接入用戶系統;PIN間距支持插入萬用板)
用說明:
VCCIO:輸出3.3V或5V(模塊由USB供電,須將跳線帽跳到3.3V或5V)
GND:接GND
TXD:接MCU.RX ( 信號流向:MCU.RX << FT232 << PC.TX )
RXD:接MCU.TX ( 信號流向:MCU.TX >> FT232 >> PC.RX )
RTS:接MCU.CTS ( 信號流向:MCU.CTS << FT232 << PC.RTS )
CTS:接MCU.RTS ( 信號流向:MCU.RTS >> FT232 >> PC.CTS )
注意:本產品不帶USB線。該模塊爲USB轉TTL電平,切勿直連RS232電平,以避免燒壞模塊。我購買的型號以下圖所示:
總體鏈接起來示意圖以下:
紅線接電 , 黑線接地, 橙色線接PA3, 黃色線接在PA2,
USB type A公口接筆記本, mini-B 公口從開發板上拔下來, 接在串口轉USB的接口上。
五,VS中查找設備:
啓動VS2019 , 確保以前擴展已經裝好, 而後在視圖菜單的 其餘窗口中找到 Device Explorer ,以下圖所示:
插上咱們的開發板, 稍等片刻後自動尋找到開發板, 以下圖所示:
如今開始, 咱們建立第一個項目Hello World ,
建立後, 第一件事情應該是進nuget管理器中, 將 nanoFramework.CoreLibrary 升級爲 最新版本,
以下圖:
開始運行
此時, 你的第一個 在STM32上的C# Hello World 完成。
本文分享自微信公衆號 - dotNET跨平臺(opendotnet)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。