色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

怎樣用STM32點亮LED燈?怎樣用STM32讓LED閃爍?

張吉惟2年前13瀏覽0評論

對于單片機編程而言,點亮LED是單片機編程的入門操作。

對于STM32,本人習慣使用寄存器操作,所以本文將以KEIL4.12作為開發環境,以寄存器操作試驗為編程思路講解。

先創建一個工程名為LED_Project,在keil的右側的工程窗口,選中項目,鼠標右手單擊,出現如下圖所示

選擇Device項,選擇對應型號,

在工程中添加對應的寄存器版本的支持文件,因只需要LED相關的寄存器操作,則只需要RCC,GPIO的固件庫文件,


創建main.c文件,并包含#include<stm32f10x_lib.h>頭文件

首先我們假設當PA4引腳為高電平時,LED燈亮,為低電平時,LED等滅,

設置LED的宏定義,如下:

#defineLED_ONGPIOA->ODR|=(1<<4);

#defineLED_OFFGPIOA->ODR&=~(1<<4);

定義一個LED的GPIO初始化函數,


如上圖所示,

RCC->APB2ENR|=1<<2;是PA端口的時鐘使能

我們使用PA4作為LED輸出控制端口,配置PA4作為推挽輸

設置led燈1秒鐘亮滅一次,俗稱呼吸燈函數如下:

設置LED燈亮滅時間漸變,函數如下圖所示

如上圖所示,函數中使用for循環,完成一個led閃爍頻率從最快10ms間隔閃爍一次,漸漸增大時間,最后到1S閃爍一次,再逐漸減小間隔時間,閃爍頻率加快。

LED閃爍的實現效果還可以進行設計,大家可以自由的進行發揮代碼的魅力和能力

以上是問題的粗略解答,難免會有遺漏

希望大家留言,點贊,轉發,關注