stm32培训课件分解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京源智天下科技有限公司
1-7
联系方式:http://www.rzchina.net
唤醒事件管理
• 通过处理外部时间或内部中断来唤醒内核。 • 通过配置任何外部I/O端口、RTC 闹钟和USB唤醒 事件可以唤醒CPU(内核从WFE退出)。
北京源智天下科技有限公司
1-8
联系方式:http://www.rzchina.net
北京源智天下科技有限公司
联系方式:http://www.rzchina.net
NVIC的编程方法(续)
• 库函数:
– – – – – – – – – – – – – – –
1-6
NVIC_GetCurrentActiveHandle函数 NVIC_GetIRQChannelActiveBitStatus函数 NVIC_GetCPUID函数 NVIC_SetVectorTable函数 NVIC_GenerateSystemReset函数 NVIC_GenerateCoreReset函数 NVIC_SystemLPConfig函数 NVIC_SystemHandlerConfig函数 NVIC_SystemHandlerPriorityConfig函数 NVIC_GetSystemHandlerPendingBitStatus函数 NVIC_SetSystemHandlerPendingBit函数 NVIC_ClearSystemHandlerPendingBit函数 NVIC_GetSystemHandlerActiveBitStatus函数 NVIC_GetFaultHandlerSources函数 NVIC_GetFaultAddress函数
1-3
联系方式:http://www.rzchina.net
NVIC寄存器结构
typedef struct { vu32 Enable[2]; u32 RESERVED0[30]; vu32 Disable[2]; u32 RSERVED1[30]; vu32 Set[2]; u32 RESERVED2[30]; vu32 Clear[2]; u32 RESERVED3[30]; vu32 Active[2]; u32 RESERVED4[62]; vu32 Priority[11]; } NVIC_TypeDef;
北京源智天下科技有限公司
联系方式:http://www.rzchina.net
外部中断/事件控制器(EXTI)
• STM32的EX来自百度文库I 控制器主要特性如下:
– – – – 每个中断/事件都有独立的触发和屏蔽。 每个中断线都有专用的状态位。 支持多达19 个中断/事件请求。 检测脉冲宽度低于APB2 时种宽度的外部信号。
北京源智天下科技有限公司
1-4
联系方式:http://www.rzchina.net
NVIC的编程方法
• 库函数:
– – – – – – – – – – – – – – –
1-5
NVIC_DeInit函数 NVIC_SCBDeInit函数 NVIC_PriorityGroupConfig函数 NVIC_Init函数 NVIC_StructInit函数 NVIC_SETPRIMASK函数 NVIC_RESETPRIMASK函数 NVIC_SETFAULTMASK函数 NVIC_RESETFAULTMASK函数 NVIC_BASEPRICONFIG函数 NVIC_GetBASEPRI函数 NVIC_GetCurrentPendingIRQChannel函数 NVIC_GetIRQChannelPendingBitStatus函数 NVIC_GetIRQChannelPendingBit函数 NVIC_ClearIRQChannelPendingBit函数
嵌套向量中断控制器(NVIC)
• STM32嵌套向量中断控制器(NVIC)主要特性如下:
– 具有43 个可屏蔽中断通道(不包含16 个Cortex-M3 的 中断线)。 – 具有16 个可编程的优先等级。 – 可实现低延迟的异常和中断处理。 – 具有电源管理控制。 – 系统控制寄存器的实现。
北京源智天下科技有限公司
外部中断/事件线路映像
北京源智天下科技有限公司
联系方式:http://www.rzchina.net
EXTI功能说明
• 如果需要产生中断,中断线必须事先配置好并被激 活。 • 为产生一个有效的事件触发,事件连接线必须事先 配置好并被激活。 • 硬件中断选择可以配置19 个线路做为中断源。 • 硬件事件选择可以配置19 个线路为事件源。
21天学嵌入式开发
第十二讲:中断系统
北京源智天下科技有限公司
联系方式:http://www.rzchina.net
课程安排
• • • • 嵌套向量中断控制器(NVIC) NVIC的编程方法 外部中断/事件控制器(EXTI) EXTI的编程方法
北京源智天下科技有限公司
1-2
联系方式:http://www.rzchina.net
//中断置位使能寄存器 //中断清除使能寄存器 //中断置位挂起寄存器 //中断清除挂起寄存器 //中断活动位寄存器
//中断优先级寄存器
typedef struct { vu32 CPUID; //CPUID基寄存器 vu32 IRQControlState; //中断控制状态寄存器 vu32 ExceptionTableOffset; //向量表偏移寄存器 vu32 AIRC; //应用中断/复位控制寄存器 vu32 SysCtrl; //系统控制寄存器 vu32 ConfigCtrl; //配置控制寄存器 vu32 SystemPriority[3]; //系统处理优先级寄存器 vu32 SysHandlerCtrl; //系统处理控制和状态寄存器 vu32 ConfigFaultStatus; //配置出错状态寄存器 vu32 HardFaultStatus; //硬件出错状态寄存器 vu32 DebugFaultStatus; //调试出错寄存器 vu32 MemoryManageFaultAddr; //存储器管理出错地址寄存器 vu32 BusFaultAddr; //总线出错地址 } SCB_TypeDef;