分類: 簡單入門 LibOpenCM3 STM32 嵌入式系統開發
-
STM32 Interrupt 中斷
前言在上一篇中,我們使用輪詢的方式來讀取目前的按鈕狀態,但這種方式的效率不是很好,在需要讀取按鈕狀態等情況下,我們可以使用外部中斷(External Interrupt,EXTI),讓 CPU 可以去忙其它事情,等到按鈕被按下時會產生中斷事件,才去執行按鈕被按下時要處理的事。在這一篇文章中,我將簡單介紹 STM32 的中斷。
簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#嵌入式
-
STM32 LibOpenCM3:GPIO 輸入
前言在上一篇中我們介紹了基本的 STM32 GPIO 輸出,並寫了一個簡單的 LED 閃爍程式,還教了 PIO 的多環境設定。這一篇要接續介紹 LibOpenCM3 的基本 GPIO 輸入寫法,功能為當按下按鈕時 LED 會亮起。
簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
-
STM32 LibOpenCM3:USART 發送
前言USART 是最常用且基本的通訊方式之一,我通常會用 USART 來讓 MCU 與電腦進行溝通,在進行設定或開發除錯時很好用。不過實際上這篇要介紹的只是 UART 而非 USART,不過我還是統一用 USART。這一篇的目標是讓 STM32 持續透過 USART 來發送資料到電腦,並且可以使用 printf() 函式。
簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
-
STM32 LibOpenCM3 尋找與移植函式庫
前言在使用 STM32 的過程中,一定會搭配許多不同的模組使用,像是各種感測器或額外的通訊模組等,但是實際搜尋 GitHub 就會發現很難找到基於 LibOpenCM3 寫的 Library。若是很簡單的模組大不了可以看一下 Datasheet 就自己寫函式庫算了,但只要稍微複雜一點的模組,自己重寫一個 Library 的效率實在是太低了。在 GitHub 搜尋「XXX模組 library」或「XXX模組 driver」就會發現找到最多的通常是專門寫給 Arduino 的,再來可能會有一些是 STM32 HAL 的。很明顯這些 Library 都沒辦法直接搭配 LibOpenCM3 使用。但是我們可以透過修改這些現成的 Library,將它們移植到 LibOpenCM3 上,甚至將其改成平臺無關(Platform Independent)的通用 Library。若原始 Library 寫得好的話,只要簡單修改幾行就可以讓它可以用 LibOpenCM3 了,絕對比自己看 Datasheet 重寫一個 Library 還快。而這篇文章將會示範我如何將一個 MCP2515 Arduino Library 修改成 Platform Independent 的 Library,讓它可以搭配 LibOpenCM3 甚至任何平臺或框架使用。
簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學