用C#在STM32上寫第一個Hello world

隨着微軟放棄.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

  1. 從ST官網下載 STM32 ST-LINK Utility 並安裝到你的計算機。 electron

  2. 要下載文章中指定的這款開發板固件, 須要前往  https://bintray.com/nfbot/nanoframework-images-community-targets/ST_STM32F411_DISCOVERY/_latestVersion 下載, 若是其餘開發板請前往 https://github.com/nanoframework/nf-Community-Targets 或者   nanoFramework 下載開發板的固件 ,  鏈接會最終會引導你到 JFrog Bintray 庫下載預編譯好的nanoframework zip壓縮包,下載完成後 而後解壓他。 學習

  3. 最好是經過兩根micro USB 鏈接線鏈接, 一根是USB type A 公口,mini-B 公口,用來經過TAG鏈接 ST-Link調試器, 另一根用來更好的供電, 但低電量模式也是能夠的,另一個能夠是 USB type A 公口,micro-B 公口,用來補充電能。 lua

  4. 啓動 e ST-LINK Utility 鏈接你的ST開發板.spa

  5. 使用 "full chip erase" 清除閃存..net

  6. 文件中選擇剛解壓的壓縮包中的文件 nanoBooter.hex , 而後點 "Program and verify" 按鈕, 在點‘Start’按鈕以前確保選中"Reset after programming" , 而後你可能能夠看到 開發板上的led閃爍速度比之前較慢。 

  7. 緊接着, 打開文件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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索