STM32F103RCT6第乙個程式 跑馬燈程式

2021-08-04 06:44:26 字數 1278 閱讀 1317

下面簡單介紹下跑馬燈程式主要需要配置的方面:

crl和crh暫存器用於配置stm32的io口的模式和速率;

gpio有8種工作模式:

1、輸入浮空

2、輸入上拉

3、輸入下拉

4、模擬輸入

5、開漏輸出

6、推挽輸出

7、推挽式復用功能

8、開漏復用功能

對應**如下:

typedef enum

gpiomode_typedef;

配置io口的速率,定義io的速率如下:

typedef enum

gpiospeed_typedef;

下面再來看看如何定義配置速率、模式和引腳的結構體的,

typedef

struct

gpio_inittypedef;

另外:

gpio_inittypedef  gpio_initstructure
上面**語句表示的意思是:定義結構體變數gpio_initstructure;類似於int a的意思;gpio_inittypedef可以理解為類似於int,gpio_initstructure可理解為類似於a的意思;

下面舉例說明初始化pa8和pd2,**如下:

void led_init(void)

另外,設定pa8口為1,可以用如下語句:

gpio_setbits(gpioa,gpio_pin_8);

若設定pa8位0,可以用如下語句:

gpio_resetbits(gpioa,gpio_pin_8);

最後就是在主函式main.c裡面設定led0和led1的狀態,然後翻轉,實現小燈的交替閃爍,程式如下:

int main(void)

}

今天還學到了:在定義結構體時,裡面的成員變數之間是分號;二定義列舉型別時,裡面的成員變數之間用逗號分開;

另:int main(void)中,第乙個int表示主函式的返回型別時整型,括號中的void表示形參是void;

2. 如果使用者需要新增或者刪除.h檔案,但是一定要注意在標頭檔案fwlib下的stm32f10x_conf.h 檔案中注釋掉刪除的原始檔對應的標頭檔案;

以後如果有時間的話,把gpio的8種工作模式的各個含義整理一下,8種工作模式分別代表什麼意思,在哪種情況下用哪種模式,都好好再整理下;

stm32F103RCT6的DMA使用經歷

dma可以直接傳輸資料,減少了cpu的負擔,是個很好的功能,但是用的時候難免會一頭霧水。這次做個小小的串列埠收發程式就碰到了許多問題。之前沒有注意,選擇了dma的circular模式,然後奇怪的事情發生了 很明顯我這個hal uart transmit dma是寫在while 1 外面的,但是串列埠...

STM32F103ZET6學習總結

1.任何外設在使用之前,必須先使能相應的時鐘。2.使用不同外設時,gpio引腳應該如何配置?1 gpio mode ain 模擬輸入 2 gpio mode in floating 浮空輸入 3 gpio mode ipd 下拉輸入 4 gpio mode ipu 上拉輸入 5 gpio mode ...

STM32F103VET6 字尾意義

stm32代表arm cortex m核心的32位微控制器.1.f 那一位指的是產品型別,現在似乎只有通用型即 f 2.103 那位指的是產品子系列,101 基本型,102 usb基本型 usb 2.0全速裝置,103 增強型,105或107 互聯型 stm32f103資源 一路can2.0b,最大...