目錄
1、簡介
2、**程式設計
2.1、bsp_key.h
2.2、bsp_key.c
2.3、main.c
開發板s32k144+s32ds+jlink,裸機版的程式編寫,使用s32k144(5)key外部中斷
其實與普通io口區別不大,只是多了開啟中斷,編寫中斷服務函式的功能
#ifndef bsp_key_h
#define bsp_key_h
#include "s32k144.h"
#define ptc12 (12) /* port c12: key1 */
#define ptc13 (13) /* port c13: key2 */
#define ptb2 (2) /* port b2: key3 */
#define key1_status (!(ptc->pdir & (1<<12)))
#define key2_status (!(ptc->pdir & (1<<13)))
#define key3_status (!(ptb->pdir & (1<<2)))
#define key_no_press 0
#define key1_press 1
#define key2_press 2
#define key3_press 3
void bsp_key_init(void);
int key_scan(void);
void s32_nvic_enableirq(irqn_type irqn, int priority);
#endif
#include "bsp_key.h"
#include "bsp_led.h"
void bsp_key_init(void)
void portc_irqhandler(void)
else if(key2_status)
}void portb_irqhandler(void)
}/* 此試驗未使用 */
int key_scan(void)
else
return key_no_press;
}
#include "s32k144.h"
#include "bsp_led.h"
#include "bsp_key.h"
int main(void)
return 0;
}
STM32外部中斷
一 基本概念 arm coetex m3核心共支援256個中斷,其中16個內部中斷,240個外部中斷和可程式設計的256級中斷優先順序的設定。stm32目前支援的中斷共84個 16個內部 68個外部 還有16級可程式設計的中斷優先順序的設定,僅使用中斷優先順序設定8bit中的高4位。stm32可支援...
stm32外部中斷
外部中斷程式配置流程 rcc 時鐘配置 void rcc configuration void 時鐘配置 開啟各路時鐘 rcc apb2periphclockcmd rcc apb2periph usart1 rcc apb2periph gpioa rcc apb2periph afio,enab...
stm32外部中斷
好久沒玩微控制器了,最近閒著沒事想拿出來玩玩,沒想到乙個stm32的外部中斷讓我花費了兩天時間,好的的挫折啊!終於下午除錯成功,下面來說一下我的除錯之路吧!硬體就是兩個按鍵,四個led,led事共陽極接法,按鍵一端接地一端接gpio口,通過按鍵中斷控制led。程式寫好以後發現始終無法進入中斷,開始查...