资料介绍
目标:本实验专门用于介绍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使用教程 22次下载
- 如何使用嵌入式ARM实现信号采样及QT图形显示 17次下载
- 四个嵌入式系统设计的实验指导书资料免费下载 5次下载
- ARM嵌入式系统教程之ARM嵌入式系统的四个实验介绍 20次下载
- 是德科技使用混合信号示波器调试嵌入式混合信号设计 12次下载
- 使用泰克混合信号示波器调试混合信号嵌入式设计应用指南 17次下载
- 泰克嵌入式系统及混合信号电路测试解决方案
- 用混合信号示波器调试嵌入式混合信号设计
- 嵌入式fpga是什么意思 992次阅读
- fpga是嵌入式吗 1767次阅读
- 什么是嵌入式系统?嵌入式系统的具体应用 2096次阅读
- 嵌入式到底是什么?如何学习嵌入式比较好 3675次阅读
- 浅谈嵌入式MCU的中断处理 8871次阅读
- 关于嵌入式系统以及嵌入式平台下的学科分工详解 1855次阅读
- 一种通过嵌入式互联网技术控制在线嵌入式设备的远程监控系统设计 3641次阅读
- 关于嵌入式串口同步帧数方法解析知识你知道多少?该怎么样才能学好嵌入式技术? 1395次阅读
- 关于以Cortex-A8内核为基础的嵌入式实验平台方案设计详解 1788次阅读
- 一文知道UltraFast嵌入式设计方法指南 2452次阅读
- 嵌入式行业发展状况_嵌入式行业人才需求_嵌入式系统就业前景分析 2.3w次阅读
- 嵌入式C实现延时程序的不同变量的区别 几种Linux嵌入式开发环境的简单介绍 1566次阅读
- PCI总线的中断信号与中断控制器的连接关系 6398次阅读
- 嵌入式系统的信号完整性理论分析 1220次阅读
- 典型的嵌入式系统设计 2650次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多