同一時間,只能有乙個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
1exti.c#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
1 #include "exti.hexti.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 }
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...