標籤: 程式
所有帶有標籤「程式」的文章。
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 LibOpenCM3:Timer 計時器
前言:Timer 計時器是各個 MCU 中都會有的基本功能。正如其名,當需要精確定時以進行控制時,Timer 就會派上用場,Timer 還可以用來產生 PWM 訊號,是很常用的功能。 上一篇已經簡單介紹要如何計算 Timer 的 PSC 與 ARR 來得到想要的頻率了,這一篇就要來看看實際的程式。 這篇的目標是使用 Timer 來讓 LED 的閃爍頻率更精確且方便修改。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 LibOpenCM3:USART 接收
前言:上一篇中我介紹了 USART 的發送,這次要來寫 USART 的接收了。由於透過輪詢的方式實現 USART 的接收實在是不是一個好的寫法,因此我們會直接使用中斷(Interrupt)的方式來達成。 這次的功能為讓 STM32 將 USART 接收到的資料原封不動丟回去,且收到資料時 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:EXTI 外部中斷
前言:在之前的文章中我們使用輪詢的方式來讀取目前的按鈕狀態,但這種方式的效率不是很好,在需要讀取按鈕狀態等情況下,我們可以使用外部中斷(External Interrupt,EXTI),讓 CPU 可以去忙其它事情,等到按鈕被按下時會產生中斷事件,才去執行按鈕被按下時要處理的事。 這次要我們的目標功能是每次按下按鈕後,LED 的閃爍速度就會變化。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系 統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 LibOpenCM3:GPIO 輸入
前言:在上一篇中我們介紹了基本的 STM32 GPIO 輸出,並寫了一個簡單的 LED 閃爍程式,還教了 PIO 的多環境設定。 這一篇要接續介紹 LibOpenCM3 的基本 GPIO 輸入寫法,功能為當按下按鈕時 LED 會亮起。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
STM32 LibOpenCM3:GPIO 輸出
前言:終於要開始實際寫程式了,接續上一篇的內容,這次要教最基本的 LibOpenCM3 的 GPIO 輸出用法,會控制一個 LED 燈使其閃爍。
發佈簡單入門 LibOpenCM3 STM32 嵌入式系統開發#STM32
#LibOpenCM3
#教學
#C/C++
#程式
#嵌入式
[LibOpenCM3 × STM32教學-4] 輸出PWM並控制Duty Cycle及頻率
我在 2022 年 9 月重新寫了與本文內容相近的文章,建議可以觀看新文章: - STM32 PWM 脈波寬度調變 - STM32 LibOpenCM3:PWM 脈波寬度調變 前言:LibOpenCM3 是一個 Open-Source 的 ARM Cortex-M3 微控制器底層硬體函式庫,支援包含 STM32 在內的多種微控制器。 本文將以 STM32F103RB(Nucleo F103RB)作為示範,介紹如何使用 LibOpenCM3 寫出 STM32 的 PWM(Pulse-Width Modulation) 功能,並且可以控制頻率與 Duty Cycle(佔空比)。
發佈LibOpenCM3 × STM32教學#STM32
#電子電路
#教學
#C/C++
#程式
#嵌入式
[LibOpenCM3 × STM32教學-3] Timer計時器中斷
我在 2022 年 9 月重新寫了與本文內容相近的文章,建議可以觀看新文章: - STM32 Timer 計時器 - STM32 LibOpenCM3:Timer 計時器 前言: LibOpenCM3 是一個 Open-Source 的 ARM Cortex-M3 微控制器底層硬體函式庫,支援包含 STM32 在內的多種微控制器。 本文將以 STM32F103RB(Nucleo F103RB)作為示範,介紹如何使用 LibOpenCM3 寫出 STM32 的計時器(Timer)中斷功能。
發佈LibOpenCM3 × STM32教學#STM32
#電子電路
#教學
#C/C++
#程式
#嵌入式
[STM32學習記錄-7] AS5047P 旋轉位置感測器/磁性編碼器使用教學
前言: AMS AS5047P 是一款旋轉位置感測器/磁性編碼器。 它擁有包含 SPI、ABI、UVW 及 PWM 的多種使用模式,及 14 位元的高解析度,和 28krpm 的高反應速度,還擁有動態角度誤差補償(Dynamic angle error compensation,DAEC),非常適合搭配馬達進行控制。 本文將以 NUCLEO-F446RE(STM32F446RE)與 STM32 HAL 作為示範,簡單介紹 AS5047P 的用法。本篇的範例程式有放在 GitHub。
發佈STM32學習記錄#電子電路
#教學
#STM32
#C/C++
#程式
#嵌入式