ob体育竞彩 _欧宝体育在线链接 學習網站

怎樣用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單片機 stm32單片機怎麼學?如何學好stm32單片機
    無論是學習8位單片機還是32位單片機,正確的學習方式和心態都很重要。我有幾條建議: 1、學習單片機沒想象的那麼難,不要給自己太大的心理壓力。如果覺得32位單片機入門難度比較大話,可以從8位的51單片機入手。把8位單片機的IO操作、定時器、中斷、串口等功...
    新手入門可以直接學單片機STM32嗎 新手入門可以直接學單片機STM32嗎
    主要還是要看個人的相關基礎情況,如果具有一定的硬件基礎,並且對C語言比較熟悉,對結構體,函數等的運用比較熟悉,直接學習STM32入門,還是可以的,可以直接從庫函數開始,從簡單的應用程序學習。可以買一塊開發板,一般會配有學習視頻,也會提供源碼,可...
    stm32單片機可以跟電腦通訊嗎 stm32單片機可以跟電腦通訊嗎
    STM32和計算機是可以通訊的,可以借助STM32的不同外設,有著不同的方式和計算機進行通訊。可以使用STM32的串口,借助232或485或像CH340這種電平轉換芯片和計算機進行通訊,計算機端對應采用USB轉串口模塊,USB轉485模塊,USB接口等進行通訊。也可以使用STM32...
    自學單片機數電模電電路沒學stm32需要搞懂的原理嗎 自學單片機數電模電電路沒學stm32需要搞懂
    如果學習過51單片機,能夠深入理解其硬件結構,並對寄存器有深入的理解,能夠利用單片機完成一些小製作,編寫過些程序代碼,能夠解決開發過程中的問題,對接口電路有熟悉,對相關接口芯片的時序有一定的認識。再學習STM32難度並不是很大的,個人還是建議學習...
    c語言模電數電沒學可以直接學stm32單片機嗎 c語言模電數電沒學可以直接學stm32單片機嗎
    個人覺得還是要掌握一點基礎知識才能開始學。從硬件和軟件兩個方麵來說,首先硬件方麵,學單片機要懂基本的電子方麵的知識,數電和模電是最基礎的,一般搞嵌入式的都要能看得懂原理圖,需要知道自己的輸入、輸入分別是什麼,這就牽涉到一些比如GPIO、UART、I...
    Baidu
    map