分類: 簡單入門 LibOpenCM3 STM32 嵌入式系統開發
所有屬於分類「簡單入門 LibOpenCM3 STM32 嵌入式系統開發」的文章。
STM32 LibOpenCM3:ADC 單通道 Regular
前言:ADC(Analog to Digital Converter)顧名思義是將類比訊號轉換成數位訊號的元件,現今多數 MCU 都會內建 ADC,而這也是相當基本且常用的功能。 上一篇已經介紹過 STM32 的 ADC 基本功能,這篇文章要示範如何使用 STM32 上的 ADC Regular 通道,並使用 UART 傳到電腦上觀看。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 ADC 類比數位轉換器
前言:ADC(Analog to Digital Converter)顧名思義是將類比訊號轉換成數位訊號的元件,現今多數 MCU 都會內建 ADC,而這也是相當基本且常用的功能。 STM32 中的 ADC 功能相當多樣,也造成它的使用有一定程度的複雜度,搭配組合很多,因此本文會以 STM32F446RE 為主,簡單介紹各種基本的模式及設定。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#嵌入式
STM32 LibOpenCM3:WWDG 窗口看門狗計時器
前言:在上一篇中已經介紹了 WWDG 的基本概念。這一篇要接著介紹 WWDG 窗口看門狗的程式。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 WWDG 窗口看門狗計時器
前言:在上一篇中已經介紹了 WDG 看門狗計時器的用途以及 IWDG 與 WWDG 的差別,也示範了 IWDG 的基本用法。 這一篇要接著介紹 WWDG 窗口看門狗的基本概念。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#嵌入式
STM32 LibOpenCM3:IWDG 獨立看門狗計時器
前言:看門狗計時器(Watchdog timer,WDG)是眾多 MCU 都有的功能,它是一種特殊功能的計時器,其功能為不斷下數,如果下數到一個值之前都沒有做刷新(Refresh)的話就認定目前系統出問題了(例如進入死迴圈跳不出來),並自動觸發系統重置(System reset)。如果要系統正常運作不 Reset 的話,必須要在 WDG Timeout 前進行 Refresh,以告訴 WDG:「我還在正常運作,不要把我 Reset 掉」。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 LibOpenCM3:SysTick delay
前言:在前面的篇章中,我們已經學會使用 Timer 來精確定時了,而在使用 MCU 的過程中最常會需要精確定時的莫過於 delay() 函式,在此之前我都是單純的讓 MCU 空跑一定的次數,但這樣很難知道它實際上到底 delay 了多久的時間,而已同樣的數值在不同的 Clock Tree 設定下 delay 的長度也不同,因此我們可以使用 Timer 來做出一個更好的 delay()。 但是如果只是要實現 delay() 功能的話,並不用像之前的 Timer 那樣計算並設定一大堆數值,因為 ARM Cortex M3 有一個特殊的計時器——SysTick,我們可以使用它來完成 delay() 函式。 這次的目標是使用 SysTick 來實現一個 delay_ms() 函式,它可以以毫秒為單位進行 delay,並且用來寫 LED 閃爍的程式。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 LibOpenCM3:PWM 脈波寬度調變
前言:在之前的內容中已經介紹過基本的 Timer 用法,及 PWM 的計算。 在使用 PWM 時我們會需要控制兩種參數:頻率與 Duty Cycle(佔空比)。頻率的部分和 Timer 一樣,由 TIMx_PSC 與 TIMx_ARR 暫存器的值來設定,而 Duty Cycle 則由 TIMx_CCRx 暫存器來指定。 這篇的目標是寫出一個可以設定 PWM 頻率與 Duty Cycle 的程式,並讓 STM32 輸出 PWM 訊號。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 PWM 脈波寬度調變
前言:在上一篇中已經介紹過基本的 Timer 用法,而 Timer 除了單純的定時外,最常見的應用就是產生 PWM(Pulse width modulation)訊號。 在使用 PWM 時我們會需要控制兩種參數:頻率與 Duty Cycle(佔空比)。頻率的部分和 Timer 一樣,由 TIMx_PSC 與 TIMx_ARR 暫存器的值來設定,而 Duty Cycle 則由 TIMx_CCRx 暫存器來指定。 這篇會先從理論的部分說明要如何計算並設定 CCR 的值以精確地控制 Duty Cycle。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#嵌入式
STM32 LibOpenCM3:Timer 計時器
前言:Timer 計時器是各個 MCU 中都會有的基本功能。正如其名,當需要精確定時以進行控制時,Timer 就會派上用場,Timer 還可以用來產生 PWM 訊號,是很常用的功能。 上一篇已經簡單介紹要如何計算 Timer 的 PSC 與 ARR 來得到想要的頻率了,這一篇就要來看看實際的程式。 這篇的目標是使用 Timer 來讓 LED 的閃爍頻率更精確且方便修改。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 Timer 計時器
前言:Timer 計時器是各個 MCU 中都會有的基本功能。正如其名,當需要精確定時以進行控制時,Timer 就會派上用場,Timer 還可以用來產生 PWM 訊號,是很常用的功能。 在 STM32 上我們可以藉由設定預除頻器(Prescaler)和自動裝載(Auto-Reload)來讓 Timer 每經過一段固定的時間後就產生一個中斷。 這一篇會介紹要如何使用並計算 STM32 的 Timer 的各項參數以設定想要的頻率。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#嵌入式