系统异常中断与外部中断统称为中断,复位中断的优先级最高,
NVIC(NestedVectored Interrupt Controller)嵌套向量中断控制器,调整各个中断的优先级,
中断优先级 =抢占优先级(1-4bit)+子优先级(0、1)如果两个中断的抢占优先级与子优先级参数一致,则按照中断向量表里的顺序区分优先级。GPIO的中断,EXTI(External interrupt/event controller)外部中断/事件(event)控制器,外部中断为用户自定义中断内容(用户编写程序发生中断后要干啥事儿),外部事件为具体对应外设自动执行,EXTI 0-15总共16个,GPIO A-G当中的pin尾数与EXTI尾数对应,
例如: GPIOA_Pin_0、GPIOB_Pin_0都对应 EXTI 0;
GPIOA_Pin_1、GPIOB_Pin_1都对应EXTI 1;
中断内部的程序尽量简单(只改个标志位值flag啥的),处理函数放在主函数比较稳妥,中断占用太多资源,则其他中断就歇菜了。假设主函数要处理的问题需要对应的技能类似于孙悟空的72变,那么中断要处理的棘手问题需要对应的技能类似于观音给予孙悟空的三根毫毛,别没啥事儿瞎用。

串口分类及电平都在右侧了。
串口助手用:Mobaxterm,
在STM32项目里,Keil Options forTarget里勾选右侧 Use Micro LIB,
添加如下代码就可以在Keil里使用printf函数了。
代码:
#include "stdio.h" //标准输入输出头文件
int fputc(int ch, FILE *f) //写字符文件函数
{
HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 10);
return ch;
}
int fgetc(FILE *f) //读字符文件函数
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1, (uint8_t*)&ch, 1, 10);
return (int)ch;
}
//添加以上代码 + √选 UseMicro LIB 后,就可以调用printf函数
审核编辑:符乾江
-
单片机
+关注
关注
6078文章
45629浏览量
675334 -
STM32
+关注
关注
2313文章
11206浏览量
375230 -
编程
+关注
关注
90文章
3725浏览量
97526
发布评论请先 登录
可以使用串口控制MP3播放的芯片
STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口屏
FPGA 入门必看:Verilog 与 VHDL 编程基础解析!
串口中断和定时中断,外部中断在一起如何调用?
中断还是轮询?嵌入式外设驱动的最佳实践!
串口空闲中断与串口超时中断介绍
关于stm32f4zgt6和mspm0g3507串口通信问题
【教程】使用STM32F4进行E22-400T22S编程通信教程
STM32 入门工具选型攻略:新手别再盲目入手,选对了才能少走弯路
STM32407使用串口闲时中断+DMA方式接收最大接收字节是多少?
使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序
STM32入门编程总结4 (中断+串口)
评论