"); //-->
作者:下家山(上海索漫培训教材 http://www.xiajiashan.com)1. 向量IRQ实例程序
我们再来分析之前的定时器中断程序
#include "config.h"
volatile uint8 FLAG=0;
#define LED1 1<<19 // P1.19引脚控LED1/****************************************************************************
* 名 称:IRQ_Time0()
* 功 能:定时器中断服务程序****************************************************************************/
void __irq IRQ_Time0(void)
{
FLAG= 1;
T0IR = 0x01; // 清除中断标志
VICVectAddr = 0x00; // 通知VIC中断处理结束
}
/****************************************************************************
* 名 称:Time0Init()
* 功 能:初始化定时器,定时时间为S,并使能中断。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void Time0Init(void)
{
T0PR = 99; // 设置定时器分频为分频,得Hz
T0MCR = 0x03; // 匹配通道匹配中断并复位T0TC
T0MR0 = 110592; // 比较值(1S定时值)
T0TCR = 0x03; // 启动并复位T0TC
T0TCR = 0x01;
/* 设置定时器中断IRQ */
VICIntSelect = 0x00; // 所有中断通道设置为IRQ中断
VICVectCntl0 = 0x24; // 定时器中断通道分配最高优先级(向量控制器)
VICVectAddr0 = (uint32)IRQ_Time0; // 设置中断服务程序地址向量
VICIntEnable = 0x00000010; // 使能定时器中断
}
/****************************************************************************
【By 下家山 Q群 75303301 上海松江文汇路928号258室 松江大学城
上海索漫科技 http://www.xiajiashan.com 专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训】
****************************************************************************/
int main(void)
{
IO1DIR = LED1; // 设置I/O为输出
Time0Init(); // 初始化定时器及使能中断
while(1){// 等待定时器中断或定时器匹配
if(FLAG==1){
if( (IO1SET&LED1) == 0 )
{
IO1SET = LED1;
}else{
IO1CLR = LED1;
}
FLAG=0;
}
]
return(0);
}
未完待续:
IRQ中断实例分析(一):向量IRQ实例程序
IRQ中断实例分析(二):非向量IRQ实例程序
IRQ中断实例分析(三):向量&非向量IRQ实例程序
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
基于GSM技术的粮库温度检测系统设计
尊界S800“凌波微步”的前辈:福特计算机控制减震器系统
基于MSP430的低功耗温度采集仪
MSP430 学习套件(五)
基于EMP 7128的数字式相位测量仪
MSP430 学习套件(二)
典型的阀控密封铅酸蓄电池充电过程曲线
利用UC3906构成的双电平浮充充电器的基本电路
通过太阳能给电池充电的电路
米尔STM32MP25x开发板Bring Up培训课程(二)
基于AT89C51+MAX7219的频率计 附带proteus仿真电路图 实际硬件电路测试通过
高性能电动汽车 EPCU 设计和制造面临的挑战
基于AT89C2051的温湿度控制仪
用于效率和安全的电池管理系统BMS
介绍一个比较有信誉的虚拟主机服务器商
米尔STM32MP25x开发板Bring Up培训课程(一)
合见工软助力玄铁大型多核系统构建与验证
怎样选择电池
充电电池的充电过程
合见工软发布数字设计AI智能平台UDA
12V阀控密封铅酸电池双电平浮充充电器的电路图 UC3960
电动汽车 EPCU 中的热管理和冷却系统
MSP430 学习套件(四)
推荐一款980元的ARM9
UC3906的内部结构
米尔STM32MP25x开发板Bring Up培训课程(三)
电动汽车技术的指数级进步
MSP430 学习套件(一)
vxworks的图形界面开发中winml与zinc有什么关系?
MSP430 学习套件(三)