STM32F103韌體庫程式設計(4) 中斷服務

2021-10-02 11:19:18 字數 1676 閱讀 6891

系統異常,體現在核心水平

外部中斷,體現在外設水平

nvic:巢狀向量中斷控制器,屬於核心外設

使能中斷請求

配置中斷優先順序分組

配置nvic暫存器,初始化nvic_inittypedef;

編寫中斷服務函式

typedef struct

nvic_inittypedef;

exti(external interrupt/event controller)—外部中斷/事件控制器,管理了控制器的 20 個中斷/事件線。每個中斷/事件線都對應有乙個邊沿檢測器,可以實現輸入訊號的上公升沿 檢測和下降沿的檢測。exti 可以實現對每個中斷/事件線進行單獨配置,可以單獨配置為 中斷或者事件,以及觸發事件的屬性

事件遮蔽暫存器(exti_emr)

上公升沿觸發選擇暫存器(exti_rtsr)

下降沿觸發選擇暫存器(exti_ftsr)

軟體中斷事件暫存器(exti_swier)

掛起暫存器(exti_pr)

這些位可由軟體讀寫,用於選擇extix外部中斷的輸入源

main.c

#include "stm32f10x.h"

#include "exti.h"

int main(void)

exti.c
#include "exti.h"

//初始化nvic

static void exyi_nvic_config(void)

void exti_key_config(void)

exti.h
#ifndef __exti_h

#include "stm32f10x.h"

#define key1_gpio_pin gpio_pin_0

#define key1_gpio_port gpioa

#define key1_gpio_clk rcc_apb2periph_gpioa

void exti_key_config(void);

#define __exti_h

#endif

中斷服務函式(在stm32f10x_it.h操作)

首先,#include 「exti.h」

void exti0_irqhandler(void)

//清除中斷標誌

exti_clearitpendingbit(exti_line0);

}

STM32F103韌體庫程式設計(6) I2C

brief iic eeprom 配置,工作引數配置 param 無 retval 無 void i2c ee config void 向eeprom寫入乙個位元組 void eeprom byte write uint8 t addr,uint8 t data 向eeprom寫入多個位元組 頁寫入...

stm32f103外部中斷

void extix init void 外部中斷0服務程式 void exti9 5 irqhandler void 這是簡單的外部中斷的配置,pc7作為中斷輸入 上面補充io口的初始化 gpio initstructure.gpio mode gpio mode ipu pc6配置為快充指示 1...

STM32F103啟動檔案

目錄 一 概述 二 彙編指令 2.1 equ 2.2 area 2.3 space 2.4 preserve8 2.5 thumb 2.6 export 2.7 dcd 2.8 proc 2.9 ldr 2.10 blx 2.11 bx 2.12 temport 2.13 b 2.14 if,els...