stm32正點原子學習筆記(28)外部中斷

2022-07-16 19:39:10 字數 2974 閱讀 8544

同一時間,只能有乙個io口對映到中斷線,例如,當pa0做了外部中斷0時,pb0等就不能作為外部中斷0了。

3//按鍵初始化函式

4void key_init(void) //

io初始化520

21 unsigned char key_scan(unsigned char

mode)

2233

else

if(key0==1&&key1==1&&wk_up==0

)34 key_up=1

;

35return

0;//

無按鍵按下

36 }

key.h

1

#ifndef __key_h

2#define __key_h

34 #include"

sys.h

"5 #include"

delay.h"6

7#define key0 gpio_readinputdatabit(gpioc,gpio_pin_1)//

讀取按鍵0

8#define key1 gpio_readinputdatabit(gpioc,gpio_pin_13)//

讀取按鍵1910

#define wk_up gpio_readinputdatabit(gpioa,gpio_pin_0)//

讀取按鍵3(wk_up)

1112

#define key0_pres 1 //

key0按下

13#define key1_pres 2 //

key1按下

1415

#define wkup_pres 4 //

key_up按下(即wk_up/key_up)

1617

void key_init(void);//

io初始化

18u8 key_scan(u8 mode);

1920

#endif

exti.c

1 #include "

exti.h"2

3void

exti_init()467

68void

exti1_irqhandler()

6975

exti_clearitpendingbit(exti_line1);76}

7778

79void

exti15_10_irqhandler()

8087

exti_clearitpendingbit(exti_line13);88}

8990

void

exti0_irqhandler()

9198

exti_clearitpendingbit(exti_line0);

99 }

exti.h

1

#ifndef __exti_h

2#define __exti_h

3 #include "

delay.h

"4 #include "

key.h

"5 #include "

led.h"6

7void exti_init(void);8

9#endif

正點原子的STM32記憶體管理筆記

記憶體管理指的是,軟體執行時對計算機記憶體資源的分配和使用的技術。目的是如何高效 快速的分配,並在適當的時候釋放和 記憶體資源。分塊式記憶體管理 從上圖可以看出,分塊式記憶體管理由記憶體池和記憶體管理錶兩部分組成。首先必須要有記憶體池,也就是分配的記憶體空間,然後是記憶體管理表 記憶體池被等分為 n...

跟著原子學習stm32之記憶體管理

學習stm32有2年的時間了,但是也只是有些基礎的了解。為了深入的學習stm32應用,從新拿起原子寫的 stm32開發指南 來深入的學習,所以這裡太基本的東西不講。文中有可能會搬一些原子大神的東西。另外這個系列只作為我自己的不完整筆記,畢竟原子大神寫的很完整了!已經本人用的是神舟三號開發板。首先先無...

正點原子STM32探索者學習筆記4

編寫者 龍詩科 2015 5 19 io引腳復用與對映 stm32有很多的內建外設,這些外設的外部引腳都是與gpio復用的。也就是說,乙個gpio如果可以復用為內建外設的功能引腳,那麼當這個gpio作為內建外設使用的時候,就叫做復用。例如串列埠1 的傳送接收引腳是pa9,pa10,當我們把pa9,p...