STM32考试复习完整版

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EXTI(外部中断)
中断的定义 CPU在正常执行程序的过程中,突然发生了一些需要紧急处理 的事件,这些事件通过某种方式触发引起 CPU暂停当前正在执 行的程序,转去处理突发事件,待突发事件处理完毕后, CPU 再返回继续执行刚刚被暂停的程序的过程就称之为中断。
STM32中断优先级分组
优先级越高,数值越低! 抢占优先级相同的任务,响应优先级高的先响应,但不能互
// 配置输出脚PC0控制LED灯 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStructure);
// 配置输入脚PA0 控制按键 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); }
GPIO
STM32的GPIO有多种工作模式: 输入浮空;输入上拉;输入下拉;模拟输入;推挽输出;推挽
复用;开漏输出;开漏复用。 要知道每种模式具体用在什么场合。
GPIO的编程(可能有大题(编程题)) 用某个IO引脚控制一个LED灯,使其闪烁。要求画出电路图
,并编程。
STM32 GPIO例程讲解
STM32 编写程序时要用到哪个模块首先要开启那个模块的时钟
void RCC_Configuration(void)
{
SystemInit();
// 系统时钟配置为72MHZ
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |
RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE|
STM32外部中断例程讲解
void NVIC_Configuration(void) // 嵌套向量中断控制器配置 {
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); // 选择优先级组别 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; // 选择中断通道:EXTI 线0中断,因为按键连接的是PA0 脚 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //0 级抢占式优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //0 级副优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // 使能引脚作为中断源 NVIC_Init(&NVIC_InitStructure); // 调用NVIC_Init 固件库函数进行设置 }
相抢占;抢占优先级不同的,可以抢占低优先级的CPU。
STM32 外部中断的来源
STM32和I/O口有关的中断一共有16个:
GPIO的管脚 GPIOx.0~GPIOx.15(x=A,B,C,D,E, F,G)分别对应中断线15~0。这样每 个中断线对应了最多7个IO口,以线 0为例:它对应了GPIOA.0、 GPIOB.0、GPIOC.0、GPIOD.0、 GPIOE.0、GPIOF.0、GPIOG.0。 而中断线每次只能连接到1个IO口上, 这样就需要通过配置来决定对应的 中断线配置到哪个GPIO上了。
STM32外部中断例程讲解
void RCC_Configuration(void) {
SystemInit();
// 系统时钟配置为72MHZ
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,
ENABLE);
// 打开AFIO 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |
复习
绪论
嵌入式系统定义;与通用计算机系统的区别 以应用为中心、以计算机技术为基础,软硬件可裁剪 ,从而能 够适应实际应用中对功能、可靠性、成本、体积、功耗和应用 环境有特殊要求的专用计算机系统。
嵌入式系统的组成 嵌入式处理器;外围设备;操作系统;应用软件
嵌入式处理器分类 微控制器;微处理器;嵌入式DSP ;片上系统
}
STM32外部中断例程讲解
void GPIO_Configuration(void)
// 输入输出管脚配置
{
GPIO_InitTypeDef GPIO_InitStructure;
// 配置输出脚PC0控制LED灯 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure);
RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |
Βιβλιοθήκη Baidu
RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE |
RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG ,
ENABLE);
// 打开GPIO 时钟
RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG , ENABLE); //打开GPIO 时钟
}
STM32 GPIO例程讲解
void GPIO_Configuration(void)
//I/O 口线配置
{
GPIO_InitTypeDef GPIO_InitStructure;
}
STM32 GPIO 例程讲解
写0: GPIO_ResetBits (GPIOB, GPIO_Pin_5);
写1: GPIO_SetBits(GPIOB, GPIO_Pin_5);
读: GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5); 返回值是1(Bit_SET) 或者0(Bit_RESET);
相关文档
最新文档