系統(tǒng)異常中斷與外部中斷統(tǒng)稱為中斷,復(fù)位中斷的優(yōu)先級(jí)最高,
NVIC(NestedVectored Interrupt Controller)嵌套向量中斷控制器,調(diào)整各個(gè)中斷的優(yōu)先級(jí),
中斷優(yōu)先級(jí) =搶占優(yōu)先級(jí)(1-4bit)+子優(yōu)先級(jí)(0、1)如果兩個(gè)中斷的搶占優(yōu)先級(jí)與子優(yōu)先級(jí)參數(shù)一致,則按照中斷向量表里的順序區(qū)分優(yōu)先級(jí)。GPIO的中斷,EXTI(External interrupt/event controller)外部中斷/事件(event)控制器,外部中斷為用戶自定義中斷內(nèi)容(用戶編寫程序發(fā)生中斷后要干啥事兒),外部事件為具體對(duì)應(yīng)外設(shè)自動(dòng)執(zhí)行,EXTI 0-15總共16個(gè),GPIO A-G當(dāng)中的pin尾數(shù)與EXTI尾數(shù)對(duì)應(yīng),
例如: GPIOA_Pin_0、GPIOB_Pin_0都對(duì)應(yīng) EXTI 0;
GPIOA_Pin_1、GPIOB_Pin_1都對(duì)應(yīng)EXTI 1;
中斷內(nèi)部的程序盡量簡(jiǎn)單(只改個(gè)標(biāo)志位值flag啥的),處理函數(shù)放在主函數(shù)比較穩(wěn)妥,中斷占用太多資源,則其他中斷就歇菜了。假設(shè)主函數(shù)要處理的問題需要對(duì)應(yīng)的技能類似于孫悟空的72變,那么中斷要處理的棘手問題需要對(duì)應(yīng)的技能類似于觀音給予孫悟空的三根毫毛,別沒啥事兒瞎用。

串口分類及電平都在右側(cè)了。
串口助手用:Mobaxterm,
在STM32項(xiàng)目里,Keil Options forTarget里勾選右側(cè) Use Micro LIB,
添加如下代碼就可以在Keil里使用printf函數(shù)了。
代碼:
#include "stdio.h" //標(biāo)準(zhǔn)輸入輸出頭文件
int fputc(int ch, FILE *f) //寫字符文件函數(shù)
{
HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 10);
return ch;
}
int fgetc(FILE *f) //讀字符文件函數(shù)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1, (uint8_t*)&ch, 1, 10);
return (int)ch;
}
//添加以上代碼 + √選 UseMicro LIB 后,就可以調(diào)用printf函數(shù)
審核編輯:符乾江
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670406 -
STM32
+關(guān)注
關(guān)注
2309文章
11162瀏覽量
373466 -
編程
+關(guān)注
關(guān)注
90文章
3716瀏覽量
97191
發(fā)布評(píng)論請(qǐng)先 登錄
STM32驅(qū)動(dòng)串口屏,STM32F103C8T6串口發(fā)送指令控制HMI串口屏
FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!
串口中斷和定時(shí)中斷,外部中斷在一起如何調(diào)用?
奮斗 STM32 開發(fā)板入門手冊(cè)
中斷還是輪詢?嵌入式外設(shè)驅(qū)動(dòng)的最佳實(shí)踐!
串口空閑中斷與串口超時(shí)中斷介紹
E203串口中斷使用總結(jié)
【教程】使用STM32F4進(jìn)行E22-400T22S編程通信教程
STM32 入門工具選型攻略:新手別再盲目入手,選對(duì)了才能少走彎路
STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
STM32F40xxx和STM32f41xx flash編程手冊(cè)
STM32F10xxx單片機(jī)編程手冊(cè)
STM32開發(fā)入門進(jìn)階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL庫》新書發(fā)布!
STM32入門編程總結(jié)4 (中斷+串口)
評(píng)論