版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、年级11级班级11级自动化一班学号11064029专业自动化姓名杨胜提题目 名称实验二、中断实验实验1、设计一个中断优先级抢占的实例。设置三个中断:EXTI0、EXTI9 和 SysTick,设计在EXTI9的中断服务子程序中实现EXTI0和SysTick的优先级别的转换,使之分别出要求现:在EXTI0中断时可以被SysTick抢占和不可以被SysTick抢占这两种状态。2、自己建立一个工程。1、硬件电路设计在EduKit-M3实验平台上按键Key与PB.9相连作为EXTI9,按键 Wakeup与PA.0 相连作为 EXTI0; LED1、LED2、LED3、LED4 分别与 PC6、PC7、
2、PC8、PC9 相连, 用于显示不同的优先级抢占状态。2、软件程序设计根据设计任务要求,软件程序主要内容包括:配置两根EXTI外部中断线(Line0和Line9),在下降沿产生中断,并配置 SysTick中断。其中:EXTI0:优先级=PreemptionPriorityValue 子优先级=0;EXTI9:优先级=0,子优先级=1;SysTick Handler:优先级=!PreemptionPriorityValue 子优先级 SubPriority = 0;刚开始设置PreemptionPriorityValue=0,即EXTI0优先级比SysTick优先级高;在EXTI9中断服务子程序
3、中,EXTI Line0和SysTick的优先级对换;在EXTI0中断服务子程序中,SysTick中断挂起位被置1,若SysTick优先级 比EXTI Line0优先级高,则EXTI 0中断被抢占,转而去执行SysTick中断服务子程序;否则继续执行EXTI Line0中断服务子程序。如果EXTI0被SysTick抢占贝0 LED1、LED2、LED3、LED4循环闪烁,如果 EXTI0 抢占 SysTick 则 LED1、LED2、LED3、LED4常亮或者常灭。1、建立工程1) 、在工程文件中包含如下文件(int、doc、user、lib、start)2)、选择 STM32F103VB 芯
4、片CPUVendor: STMicroelectronicsDevice: STM32F1D3VBToolset: ARMData baseSTM32F1D3RESTM22F103RFSTM32F1D3RGSTM32F103T4STM32F103T6STM32F103TS STM 32F103TB STM32F1D3VSDescription:ARM 32-bit Cortex-M3 Micracantroller, 72MHz, 12SkB Rash, 20k日 SRAM, PLL, Embedded Internal RCSMHz and 32kHz, Real-Time Dock, Ne
5、sted Interrupt Controller, Power Saving Modes, JTAG and SWD, 3 Synch. 16-bit Timera with Input Capture, Output Compare and PWM, 16-bit frch Advanced Timer, 2 16-bit Watchdog Timera, Sys Tick Timer, 2SPI.2I2C.3 USART, USB 20 Full Speed Interface, CAN 2.0B Active.2 12-bit A/D Converter, Fast I/O Ports
6、实验步骤与结果分析STM32F1D3VCSTM32F1D3VDSTM32F103VE STM 进 1 DM STM32F1D3VGOKCancel |Help3)、分别添加如下文件-:_;rNivc、Startup Code声 STT132F10 x.s、Sourcemain.c、InterruptsT| stm32F10K_it.c、Library田 STT132F10 xR.LIB、Documentation孟 readme.txtSTM32F1D2VB2、运行过程(1)使用Keil uVision3通过ULINK仿真器连接EduKit-M3实验平台,打开实验例 程NVIC_test子目录
7、下的NVIC.Uv2例程,编译链接工程;(2)点击 MDK 的 Debug 菜单,选择 Start/Stop Debug Session 项或 Ctrl+F5 键,远 程连接EduKit-M3实验平台并下载调试代码到目标系统的RAM中;(3)程序正常启动运行后,会有以下结果:当第一次发生EXTI9中断后(按下EduKit-M3实验平台上Key按钮),SysTick 中断的优先级比EXTI0中断优先级高。因此当EXTI0中断发生时(按下Wakeup按钮),将先执行SysTick中断服务子程序,发生抢占,变量PreemptionOccured为真,LED1-LED4开始闪烁;当第二次发生EXTI9
8、中断后,SysTick中断的优先级比EXTI0优先级低, 因此当EXTI0中断发生时SysTick无法抢占,变量PreemptionOccured为假,LED1-LED4停止 闪烁;每次EXTI9发生后,SysTick和EXTI0就会发生优先级转换,出现前面2 步的状态。/* Configure one bit for preemption priority */NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);主从优先级的选择Group_1,有先占优先级1位,从优先级3位Tabk 273.先占优先级和从优先级值”NNI C_Prio ritGrou
9、pNVIC IRQChauDd 的羌占优先级XSJC IRQChauuel境诚先皴_描述NVIC_PnoirityGroup_00(015 /,先占优先级0位 从优先级4位NV3C_PnoiityGroup_l0-10-7先占优先级1位 从优先级3位NV3C_PnoiityGroup_20-30-3先占优先级2位 从优先级2位NVIC PrioiityGrouip 30-70-1先占优先级3位 从优先级1位配置一个比特为抢占优/*ESaSfetheEXTi0 :洗级nterrupt *? /使能 EX,0TI0中断先占优先级4位 从优先级。位NVIC_InitStructure.NVIC_IR
10、QChannel = EXTI0_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = PreemptionPriorityValue;主要程序代码分析主优先级的选择 PreemptionPriorityValue NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;/从优先级等于 0. NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);/* Enable the
11、EXTI9_5 Interrupt */使能 EXTI9_5 中断NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = Q/EXTI9_5 主优先级的选 择等于0NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;/EXTI9_5 主优先级的选择等于 0NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_In
12、itStructure);/* Configure the SysTick Handler Priority: Preemption priority and sub priority */配置SysTick处理程序优先级:抢占优先级和子优先级NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, !PreemptionPriorityValue, 0);while (1)if(PreemptionOccured != FALSE)/当 PreemptionOccured != FALSE)抢占发生GPIO_WriteBit(GPIOC,
13、GPIO_Pin_6,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6);Delay(0 x5FFFF);GPIO WriteBit(GPIOC,GPIO Pin 7,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_7);Delay(0 x5FFFF);GPIO_WriteBit(GPIOC,GPIO_Pin_8,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_8); Delay(0 x5FFFF); GPIO_Writ
14、eBit(GPIOC,GPIO_Pin_9,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_9); Delay(0 x5FFFF); void GPIO_Configuration(void)/* Configure PC6, PC7, PC8 and PC9 as output push-pull */ 使能为推挽输出GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 I GPIO_Pin_7 I GPIO_Pin_8 I GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed
15、= GPIO_Speed_50MHz; /使能其速度为 50MHzGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/使能为推挽输出GPIO_Init(GPIOC, &GPIO_InitStructure);/* Configure GPIOA Pin0 as input floating */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;使能为浮空输入GPIO_Init(GPIOA, &GPIO_InitS
16、tructure);/* Configure GPIOB Pin9 as input floating */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;使能为推挽输出入 GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);Table 203.函数 GPIO_EXTILineCouf祯函数名GPIO_EXULine
17、Coiifi g函数原形void GPIO_EXTTLineConfig(u8 GPIO_PortSoiircer u8 GPIO_PmSoiirce)功能描述选择GPIO管脚用作外部中断线路输入参数1GPIO_PortSource: ,i择用作外部中断线源的GPIO端口 参阅Section; GPIO_PortSaiwce查阅更多该参数允许取值范围输入参数2GPIO_Pin$oiirce:待设置的外部中断线路 该参祉可以取GPIO_PuiSourcex(x可以是0-15)/* Configure EXTI Line0 to generate an interrupt on falling e
18、dge */ 配置EXTI Line0产生一个中断在下降沿EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);Table 135.函数 EXTI_StructIuit函数名EXTT_SmictInit函数原形void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学二年级下册口算练习100题-二年级数学口算练题
- 急诊医疗服务规范制度
- 13.1.2线段的垂直平分线性质(第二课时)
- 2024年西安客运驾驶员考试选择题及答案解析
- 算法设计与分析 课件 1.2.1-算法分析准则 - 正确性
- 2024年杭州客运考试应用能力试题及答案详解
- 2024年广西客车驾驶员从业资格证考试题库
- 2024年山西c1客运资格证模拟考试题下载什么软件
- 2024年四川客运从业资格证考试技巧口诀
- 2024年长沙客运从业资格证试题答案
- 汽车文化知识考试参考题库400题(含答案)
- WDZANYJY23低压电力电缆技术规格书
- 《水循环》-完整版课件
- 抗高血压药物基因检测课件
- 西游记 品味经典名著导读PPT
- 金坛区苏科版四年级心理健康教育第1课《我的兴趣爱好》课件(定稿)
- 心肌缺血和心肌梗死的心电图表现讲义课件
- 小学生性教育调查问卷
- 学历案的编写课件
- 旅游行政管理第二章旅游行政管理体制课件
- 卫生院关于召开基本公共卫生服务项目培训会的通知
评论
0/150
提交评论