打印

求解:LPC2368中断问题

[复制链接]
2285|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
njulazy|  楼主 | 2010-8-17 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 njulazy 于 2010-8-18 13:27 编辑

在使用该芯片时,在keil3中如需使用中断需要如何设置呢,源程序为示例程序,不存在错误,可是烧入芯片就是没有中断,还需要做什么吗?请高手帮忙!
示例如下:
#include "config.h"
#define BEEP    (1 << 27)    // P1.27控制BEEP,低电平蜂鸣
/*********************************************************************************************************
** 函数名称:  IRQ_Timer0
** 函数功能:  定时器0中断服务程序,取反蜂鸣器控制口。
** 入口参数:  无
** 出口参数:  无
*********************************************************************************************************/
void __irq IRQ_Timer0(void)
{
if ((IO1SET & BEEP) == 0)
{
  IO1SET  = BEEP;     // 关闭BEEP
}
else
{
  IO1CLR  = BEEP;
}
T0IR        = 0x01;     // 清除中断标志
VICVectAddr = 0x00;     // 通知VIC中断处理结束
}
/*********************************************************************************************************
** 函数名称: main
** 函数功能: 使用定时器实现1秒钟定时,控制蜂鸣器。中断方式。
** 调试说明: 需要将跳线组JP1上的P1.27和BEEP连接。
**********************************************************************************************************/
int main(void)
{
PINSEL3 = 0x00000000;    // 设置管脚连接GPIO      
IO1DIR  = BEEP;      // 设置BEEP控制口输出      
IO1SET  = BEEP;
/* 定时器0初始化 */
T0TC    = 0;      // 定时器设置为0         
T0PR    = 0;      // 时钟不分频           
T0MCR   = 0x03;      // 设置T0MR0匹配后复位T0TC,并产生中断标志   
T0MR0   = Fpclk / 2;     // 0.5秒钟定时         
T0TCR   = 0x01;      // 启动定时器         

    /* 打开IRQ中断 */
IRQEnable();      // IRQ中断使能        
/* 设置定时器0中断IRQ */
VICIntSelect = 0x00;    // 所有中断通道设置为IRQ中断  
VICVectPri4  = 00;     // 设置定时器0中断最高优先级
VICVectAddr4 = (uint32)IRQ_Timer0; // 设置中断服务程序地址     
VICIntEnable = 1 << 0x04;   // 使能定时器0中断      

while (1);
    return (0);
}

相关帖子

沙发
njulazy|  楼主 | 2010-8-18 13:26 | 只看该作者
用过的请帮帮忙吧,实在找不出是什么原因

使用特权

评论回复
板凳
xiehuixing| | 2010-8-19 16:57 | 只看该作者
创达电子(香港)有限公司一级代理NXP,提供MO(LPC1114,LPC11C14)、M3(LPC1343,LPC1768)、ARM7(2100,2200,2300,2400系列)、ARM9(3250)的开发板,全方位技术支持,相信能够大大加快您的开发进度。一级代理,绝对的质量保证,绝对的价格优势。并且可以免费升请样片。热烈欢迎您的咨询! http://www.chungda.com/ 联系人:谢工手机:13410765586,13510476712 固话:0755-86106766-8018 邮箱:info12@chungda.com MSN: cdfae6@hotmail.com qq: 154239265

使用特权

评论回复
地板
xiaoyh520| | 2010-8-19 17:04 | 只看该作者
应不中断没有打开

使用特权

评论回复
5
arm86| | 2010-8-20 12:50 | 只看该作者
“if ((IO1SET & BEEP) == 0)”,有点疑问,不是有个“GPIO port Pin value register”吗,干嘛不读这个地方的值来进行判断呢?

“IRQEnable();      // IRQ中断使能  ”
放在后面的吧,设置好中断再使能。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝