资料介绍
目标:本实验专门用于介绍PSoC CPU 的中断句柄。注意这个实验分成7 个部分:LAB2A 到LAB 2G 。在继续下一个实验前,要成功地完成每一个部分。
完成这个实验后,读者应能做到:
用C 语言写控制程序;
理解如何处理一个发布的中断;
理解如何处理一个未处理的中断;
将CPU 设置在休眠模式,然后用休眠定时器未处理的中断唤醒它;
使用汇编语言编写的中断句柄,来操作在C 程序里声明的一个全局变量;
使用C 语言编写的中断句柄,来操作在C 程序里声明的一个全局变量;
在中断向量表空间中,放置一个小的中断服务程序ISR。
假设:
所有先前实验的假设;
使能编译器用于开发系统。
要求的材料:
CY3210 PSoCEval1 板子;
面包板线。
要求的设备:
无。
相关的参考资料
所有前面实验的参考资料;
Cypress C 语言编译器用户指南。
中断控制器为PSoC 混合信号阵列内的不同硬件资源提供了一种机制,可以将程序的执行改变到新的地址,而不需要考虑当前正在执行的任务。图1.13 给出了中断处理的方块图。
对于CPU,要识别一个特殊资源的中断,下面必须是真(有效)的:
必须设置它的中断使能屏蔽;
图1.13 中断处理
它必须是所有未处理中断中,级别最高的;必须设置全局中断使能。CPU 通过下面响应这个请求:将当前程序计数器的值保存起来;将当前标志寄存器的值保存起来。跳转到指定的中断向量地址。对于27x 系列的器件,有18 个不同的中断源。
表1.2 从最高优先级到最低优先级,给出了每个中断源和它的向量地址。
表1.2 中断向量表
在中断服务程序的末尾,先前程序计数器和标志寄存器的值被恢复到它们原来的值,原先的程序从离开它的地方继续。
练习2A-1 :假设正确的使能全局中断和中断屏蔽,可能永远不能服务较低优先级的中断。这是为什么?
1.2.1 实验2A—发布中断
使用INT_CLRx 寄存器访问发布的中断。通过INT_CLR0 寄存器的第6 比特位来控制休眠定时器发布中断。当该位的值为“1”时,将发布一个定时器的中断。将该位设置为“0”时,将清除所发布的中断。
步骤1:创建新的工程。
工程名字为Lab2A
—选择C 选项;
—用于器件类型及其设置的标准实验设置;
—转到互联界面,将全局参数Sleep_Timer 设置为1Hz (这将使得休眠定时器每一秒钟产生一个等待处理的中断);
—按表1.3 设置四个端口引脚。
表1.3 端口驱动设置
名字(Name)端口(Port)选择(Select)驱动(Drive)
LedOut1P1[0]StdCPUStrong
LedOut2P1[1]StdCPUStrong
LedOut3P1[2]StdCPUStrong
LedOut4P1[3]StdCPUStrong
步骤2:在Eval1 板子上添加跳线。
使用跳线进行下面的连接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成应用。步骤3:写软件。·转到应用程序编辑器,打开如图1.14 所示的main.c 文件。如图1.15 所示,添加代码。该程序应注意:bShadow 定义成一个全局单字节变量。INT_CLR0 寄存器用来监视和清除休眠定时器已经发布的中断。
完成这个实验后,读者应能做到:
用C 语言写控制程序;
理解如何处理一个发布的中断;
理解如何处理一个未处理的中断;
将CPU 设置在休眠模式,然后用休眠定时器未处理的中断唤醒它;
使用汇编语言编写的中断句柄,来操作在C 程序里声明的一个全局变量;
使用C 语言编写的中断句柄,来操作在C 程序里声明的一个全局变量;
在中断向量表空间中,放置一个小的中断服务程序ISR。
假设:
所有先前实验的假设;
使能编译器用于开发系统。
要求的材料:
CY3210 PSoCEval1 板子;
面包板线。
要求的设备:
无。
相关的参考资料
所有前面实验的参考资料;
Cypress C 语言编译器用户指南。
中断控制器为PSoC 混合信号阵列内的不同硬件资源提供了一种机制,可以将程序的执行改变到新的地址,而不需要考虑当前正在执行的任务。图1.13 给出了中断处理的方块图。
对于CPU,要识别一个特殊资源的中断,下面必须是真(有效)的:
必须设置它的中断使能屏蔽;
图1.13 中断处理
它必须是所有未处理中断中,级别最高的;必须设置全局中断使能。CPU 通过下面响应这个请求:将当前程序计数器的值保存起来;将当前标志寄存器的值保存起来。跳转到指定的中断向量地址。对于27x 系列的器件,有18 个不同的中断源。
表1.2 从最高优先级到最低优先级,给出了每个中断源和它的向量地址。
表1.2 中断向量表
| 中断源 | 向量位置 |
| 硬件复位 | 0x0000 |
| 供电监视器 | 0x0004 |
| 模拟列0 | 0x0008 |
| 模拟列1 | 0x000c |
| 模拟列2 | 0x0010 |
| 模拟列3 | 0x0014 |
| VC3 | 时钟 |
| GPIO | 0x001c |
| 数字块00 | 0x0020 |
| 数字块01 | 0x0024 |
| 数字块02 | 0x0028 |
| 数字块03 | 0x002c |
| 数字块10 | 0x0030 |
| 数字块11 | 0x0034 |
| 数字块12 | 0x0038 |
| 数字块13 | 0x003c |
| I2C | 0x0060 |
| 休眠定时器 | 0x0064 |
在中断服务程序的末尾,先前程序计数器和标志寄存器的值被恢复到它们原来的值,原先的程序从离开它的地方继续。
练习2A-1 :假设正确的使能全局中断和中断屏蔽,可能永远不能服务较低优先级的中断。这是为什么?
1.2.1 实验2A—发布中断
使用INT_CLRx 寄存器访问发布的中断。通过INT_CLR0 寄存器的第6 比特位来控制休眠定时器发布中断。当该位的值为“1”时,将发布一个定时器的中断。将该位设置为“0”时,将清除所发布的中断。
步骤1:创建新的工程。
工程名字为Lab2A
—选择C 选项;
—用于器件类型及其设置的标准实验设置;
—转到互联界面,将全局参数Sleep_Timer 设置为1Hz (这将使得休眠定时器每一秒钟产生一个等待处理的中断);
—按表1.3 设置四个端口引脚。
表1.3 端口驱动设置
名字(Name)端口(Port)选择(Select)驱动(Drive)
LedOut1P1[0]StdCPUStrong
LedOut2P1[1]StdCPUStrong
LedOut3P1[2]StdCPUStrong
LedOut4P1[3]StdCPUStrong
步骤2:在Eval1 板子上添加跳线。
使用跳线进行下面的连接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成应用。步骤3:写软件。·转到应用程序编辑器,打开如图1.14 所示的main.c 文件。如图1.15 所示,添加代码。该程序应注意:bShadow 定义成一个全局单字节变量。INT_CLR0 寄存器用来监视和清除休眠定时器已经发布的中断。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- [IC]浅谈嵌入式MCU软件开发之中断优先级与中断嵌套
- 嵌入式杂谈之中断向量表
- 【嵌入式】按键中断控制 LED 及蜂鸣器实验
- 嵌入式软件开发基础实验报告中断实验
- ucosII嵌入式实时操作系统实验
- Microchip嵌入式电源和混合信号技术
- 嵌入式外中断c语言代码
- 嵌入式系统实验——Keil使用教程 23次下载
- 如何使用嵌入式ARM实现信号采样及QT图形显示 17次下载
- 四个嵌入式系统设计的实验指导书资料免费下载 6次下载
- ARM嵌入式系统教程之ARM嵌入式系统的四个实验介绍 20次下载
- 是德科技使用混合信号示波器调试嵌入式混合信号设计 12次下载
- 使用泰克混合信号示波器调试混合信号嵌入式设计应用指南 17次下载
- 泰克嵌入式系统及混合信号电路测试解决方案
- 用混合信号示波器调试嵌入式混合信号设计
- 嵌入式fpga是什么意思 1310次阅读
- fpga是嵌入式吗 2420次阅读
- 什么是嵌入式系统?嵌入式系统的具体应用 2562次阅读
- 嵌入式到底是什么?如何学习嵌入式比较好 3787次阅读
- 浅谈嵌入式MCU的中断处理 9169次阅读
- 关于嵌入式系统以及嵌入式平台下的学科分工详解 2025次阅读
- 一种通过嵌入式互联网技术控制在线嵌入式设备的远程监控系统设计 3796次阅读
- 关于嵌入式串口同步帧数方法解析知识你知道多少?该怎么样才能学好嵌入式技术? 1485次阅读
- 关于以Cortex-A8内核为基础的嵌入式实验平台方案设计详解 1897次阅读
- 一文知道UltraFast嵌入式设计方法指南 2578次阅读
- 嵌入式行业发展状况_嵌入式行业人才需求_嵌入式系统就业前景分析 2.4w次阅读
- 嵌入式C实现延时程序的不同变量的区别 几种Linux嵌入式开发环境的简单介绍 1673次阅读
- PCI总线的中断信号与中断控制器的连接关系 6539次阅读
- 嵌入式系统的信号完整性理论分析 1324次阅读
- 典型的嵌入式系统设计 2716次阅读
下载排行
本周
- 1PC3103 低功耗电流模式PWM控制器技术手册
- 1.23 MB | 3次下载 | 免费
- 2L7805CV TO-220三端稳压IC规格书
- 0.71 MB | 1次下载 | 免费
- 3LoRa2021 全频段无线通讯模块规格书
- 814.22 KB | 1次下载 | 免费
- 4L7812CV TO-220三端稳压IC规格书
- 1.35 MB | 次下载 | 免费
- 5L7815CV TO-220三端稳压IC规格书
- 1.48 MB | 次下载 | 免费
- 6N-12电子倾斜仪指南
- 0.24 MB | 次下载 | 10 积分
- 7基于CP500S扫描测头的三坐标测量系统:复杂曲面零件解决方案
- 0.35 MB | 次下载 | 免费
- 8STM32H747xI/G 英文数据手册
- 5.09 MB | 次下载 | 免费
本月
- 1PFC电路与BOOST电路设计实例分享
- 1.83 MB | 18次下载 | 4 积分
- 2电源测试报告-基于 国民技术 N32L406 和杰华特 JW3376+3330 的 BMS 方案
- 6.47 MB | 17次下载 | 免费
- 3世平基于灵动微 SPIN560C 的低压无刷电机应用方案
- 10.93 MB | 11次下载 | 免费
- 4900MHz全双工无线发射器参考设计原理图资料
- 0.40 MB | 6次下载 | 免费
- 5PWM控制器的控制方法
- 0.39 MB | 3次下载 | 4 积分
- 6900MHz全双工无线发射器参考设计
- 0.15 MB | 3次下载 | 1 积分
- 7美的电磁炉TM-S1-20B PN8124F+CHK S009资料图
- 0.28 MB | 3次下载 | 10 积分
- 8FS313B USB 的 PD和QC 快充协议电压诱骗控制器规格书
- 2.61 MB | 3次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935134次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191424次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183352次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73819次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论