“網友分享”版塊迎來第二彈,貨真價實,童叟無欺的干貨!!
該篇文章是基于硬件NUCLEO-L452RE完成的。開發環境使用的是ST官方提供的Arduino的開發環境,也就是在線開發環境mbed。本文簡答介紹一下關于mbed的使用。
以下為整個流程的描述,更詳盡的解釋和詳細的源代碼等請點擊“閱讀全文”下載pdf文檔查看進一步流程和下載源代碼。
1.mbed的下載(鏈接可在“閱讀全文”的文檔里找到),其實使用usb連接Nucleo板子到電腦,電腦會識別出一個存儲盤,打開新識別的存儲盤,里面就存儲有一個mbed的開發鏈接。
2.打開mbed的網址,就可以連接上ST的在線開發環境,先要注冊一個賬戶,這樣你寫的代碼就會保存到你的賬戶里了。注冊完以后在Hardware選擇自己的開發板,mbed目前支持上百個開發板,選擇你的開發板然后點擊右上角的complier,就可以打開mbed在線IDE了,如圖所示
3.雖然是在線開發,其實mbed的界面和大多數IDE類似,只要熟悉keil等軟件的都很容易操作。我們可以看一下它的目錄文件結構,一個是你自己建立的工程文件夾,一個是mbed文件夾,這個mbed提供了相當數量的方法給我們使用,只要點開它就能看到這些方法的使用形式。不過唯一的缺點就是,這些方法的具體實現代碼我們看不到,也不能更改和復制。
使用mbed一樣能像使用Arduino那樣避開硬件驅動層,mbed提供的方法也都是面向對象的,只要看得懂單詞,就能夠操作開發板上引出來到端口。具體操作這些端口時,它們的名稱可以查看“STM32 Nucleo-64 board用戶手冊”,里面有詳細的引腳名稱對照圖。另外,同一引腳在mbed和Arduino中并不相同,也就是如果要把Arduino的程序移植到nucleo板子,需要重新設置引腳
4.了解了mbed的開發流程,那就開始動手吧!我移植了一個我之前寫的用于Arduino的LED點陣屏的庫文件,我在后面會附上源文件。程序比較簡單,主函數如下:
5.首先板子啟動后,通過串口打印一串字符后,進入循環,然后交替顯示兩個LED點陣屏。
成員函數Display_Run_Screen()用于顯示動態圖,可以設置方向和速度,Display_Full_Screen()用于顯示靜態圖,支持閃爍延時。
另外說明的是,在這個庫文件中,我使用了一個delay_ms()延時函數,主要是因為我選擇的開發板是Nucleo-L476RG,處理器是可能和STM32L452RE的時鐘有區別,mbed提供的wait系列延時函數會跑死,所以我又單獨建立了一個delay_ms函數用于延時。
6.編寫好代碼后點擊mbed的complier按鈕,就可以進行編譯連接了,編譯完后會自動產生下載,把編譯好的bin文件下載下來燒寫到Nucleo板子上就可以看到效果了,如下圖所示。
7.最后說一下燒寫。ST官方也提供了STM單片機的燒寫軟件ST_LinkUtility,使用板載的ST_Link就可以把hex或者bin文件燒寫到單片機里。目前ST_LinkUtility最新版本為V4.0版本,我之前使用的是V3.9版本,在使用時一致連接不上板子,后來更新到V4.0版本后就可以,這是因為STM32L452是ST新出的一款處理器,所以舊版本沒有支持該處理器的燒寫方案。后面會提供ST_Link Utility最新版的下載連接,也可以到官網下載。
總結:
關于STM32Nucleo-64 board和mbed的使用就先到這里了,其實mbed的用戶體驗效果并不算太好,尤其是對網速有要求,不過這也有一個非常明顯的優點,就是任何軟件環境都支持,因為是在線IDE嘛,所以不管你是換系統還是換電腦,都不必重新搭建,就能有一個完全一樣的開發環境。
-
ARM
+關注
關注
134文章
9094瀏覽量
367540 -
嵌入式
+關注
關注
5082文章
19123瀏覽量
305150 -
mbed
+關注
關注
5文章
21瀏覽量
58143
原文標題:NUCLEO-L452RE快速入門之mbed的使用
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論