怎樣用STM32點亮LED燈?怎樣用STM32讓LED閃爍
時間:2019-08-29 10:07 來源:ob体育竞彩
對於單片機編程而言,點亮LED是單片機編程的入門操作。
對於STM32,本人習慣使用寄存器操作,所以本文將以KEIL4.12作為開發環境,以寄存器操作試驗為編程思路講解。
先創建一個工程名為LED_Project,在keil的右側的工程窗口,選中項目,鼠標右手單擊,出現如下圖所示
選擇Device項,選擇對應型號,
在工程中添加對應的寄存器版本的支持文件,因隻需要LED相關的寄存器操作,則隻需要RCC,GPIO的固件庫文件,
創建main.c文件,並包含 #include 頭文件
首先我們假設當PA4引腳為高電平時,LED燈亮,為低電平時,LED等滅,
設置LED的宏定義,如下:
#define LED_ON GPIOA->ODR|=(1
#define LED_OFF GPIOA->ODR&=~(1
定義一個LED的GPIO初始化函數,
如上圖所示,
RCC->APB2ENR|=1
我們使用PA4作為LED輸出控製端口,配置PA4作為推挽輸
設置led燈1秒鍾亮滅一次,俗稱呼吸燈函數如下:
設置LED燈亮滅時間漸變,函數如下圖所示
如上圖所示,函數中使用for循環,完成一個led閃爍頻率從最快10ms間隔閃爍一次,漸漸增大時間,最後到1S閃爍一次,再逐漸減小間隔時間,閃爍頻率加快。
LED閃爍的實現效果還可以進行設計,大家可以自由的進行發揮代碼的魅力和能力
看過《怎樣用STM32點亮LED燈?怎樣用STM32讓LED閃爍》的人還看了以下文章
stm32單片機怎麼學?如何學好stm32單片機 | |
無論是學習8位單片機還是32位單片機,正確的學習方式和心態都很重要。我有幾條建議: 1、學習單片機沒想象的那麼難,不要給自己太大的心理壓力。如果覺得32位單片機入門難度比較大話,可以從8位的51單片機入手。把8位單片機的IO操作、定時器、中斷、串口等功... |
新手入門可以直接學單片機STM32嗎 | |
主要還是要看個人的相關基礎情況,如果具有一定的硬件基礎,並且對C語言比較熟悉,對結構體,函數等的運用比較熟悉,直接學習STM32入門,還是可以的,可以直接從庫函數開始,從簡單的應用程序學習。可以買一塊開發板,一般會配有學習視頻,也會提供源碼,可... |
stm32單片機可以跟電腦通訊嗎 | |
STM32和計算機是可以通訊的,可以借助STM32的不同外設,有著不同的方式和計算機進行通訊。可以使用STM32的串口,借助232或485或像CH340這種電平轉換芯片和計算機進行通訊,計算機端對應采用USB轉串口模塊,USB轉485模塊,USB接口等進行通訊。也可以使用STM32... |
自學單片機數電模電電路沒學stm32需要搞懂 | |
如果學習過51單片機,能夠深入理解其硬件結構,並對寄存器有深入的理解,能夠利用單片機完成一些小製作,編寫過些程序代碼,能夠解決開發過程中的問題,對接口電路有熟悉,對相關接口芯片的時序有一定的認識。再學習STM32難度並不是很大的,個人還是建議學習... |
c語言模電數電沒學可以直接學stm32單片機嗎 | |
個人覺得還是要掌握一點基礎知識才能開始學。從硬件和軟件兩個方麵來說,首先硬件方麵,學單片機要懂基本的電子方麵的知識,數電和模電是最基礎的,一般搞嵌入式的都要能看得懂原理圖,需要知道自己的輸入、輸入分別是什麼,這就牽涉到一些比如GPIO、UART、I... |
熱門文章
- 單片機和嵌入式哪個好
- 單片機重要特性含義解讀
- 單片機三總線結構及時序分析
- 單片機沒有PWM外設也可以做可調占空比
- 開源硬件arduino是什麼
- 標誌寄存器中的狀態標誌和控製標誌
- at89c51和stc12c5a60s2的引腳的區別
- 學習51單片機要用到哪些硬件工具
- 單片機定時的時間怎麼改變
- 單片機自動斷電或關機電路圖講解
- 串口的波特率如何計算?串口通信波特率計
- 單片機波特率計算公式和方法
- 51單片機ram區域劃分
- spi時序圖怎麼看?spi時序圖閱讀方法
- 51單片機怎麼顯示出數字的?單片機數碼管
- 51單片機有幾個中斷源_52單片機中斷源
- 嵌入式係統的評價方法
- AT89C51單片機為核心的時鍾電路的程序設
- stm32學到什麼程度叫精通
- 用STM32隻會庫函數不會用寄存器有影響嗎