没产生中断

[复制链接]
814|13
 楼主| zhenykun 发表于 2017-1-6 20:39 | 显示全部楼层 |阅读模式

void system_int(void)
{
    CMOD   = 0x80;                  //空闲模式不计时,12分频,禁止溢出中断
     CCON   = 0x00;
     CH       = 0x00;
     CL       = 0x00;
     CCAP0L= 0x00;
     CCAP0H= 0x1E;
    CCAPM0= 0x49;                 //选择16位软件定时功能
    EA        = 1;
     CR        = 1;
}

void PCA_ISR(void) interrupt 7
{
     CCF0  = 0;                    
     CCAP0L= CCAP0L+0x00;
     CCAP0H= CCAP0H+0x1E;         
}

void main(void)
{   
     system_int();              //系统初始化
     while(1);
}

调试环境是在keil里面的Debug里面,现在问题是:没有产生中断,然后查看了一下CH,CL发现根本没有计时!
heweibig 发表于 2017-1-6 20:41 | 显示全部楼层
是不是疏忽哪里了
 楼主| zhenykun 发表于 2017-1-6 20:45 | 显示全部楼层
我是看着手册来编程的。样板还没来,现在用keil来调试,唉。。。不懂那里出问题了。
jiaxw 发表于 2017-1-6 20:47 | 显示全部楼层

连上JTAG仿真吧 在SILICON的IDE下外挂KEIL编译器再加载些驱动就可以在线调试了 软仿真我没有玩过
liliang9554 发表于 2017-1-6 20:49 | 显示全部楼层
你确定的使能定时器跑了?还有好想也没见你使能定时器的中断啊
 楼主| zhenykun 发表于 2017-1-6 20:51 | 显示全部楼层
sbit CR     = CCON^6; //1:允许 PCA 计数器计数, 必须由软件清0。
已经启动定时器了。

sfr CCAPM0 = 0xDA; //PCA 模块0 PWM 寄存器  -   ECOM0  CAPP0  CAPN0  MAT0  TOG0  PWM0  ECCF0   x000,0000

//  1      0      0     1     0     0     x   0x49   16位软件定时器。

ECCF0 已经设置=1;所以已经允许中断了。。。
zhaoxqi 发表于 2017-1-6 20:53 | 显示全部楼层
请确定在项目中选择的芯片类型与实际的芯片类型一致。
 楼主| zhenykun 发表于 2017-1-6 20:56 | 显示全部楼层
不止PCA中断7仿真不行,中断6,中断8都不能响应!就算按手册的例子输进去也不行!
说明应该不是程序的问题。不过中断5以下的就可以了。。。
zhanghqi 发表于 2017-1-6 20:58 | 显示全部楼层

不同的芯片其硬件配置文件相差很大的,如果选错则硬件资源可能无**确仿真。
wyjie 发表于 2017-1-6 21:00 | 显示全部楼层
不能,仿真经常出错,盲调才是王道。
yszong 发表于 2017-1-6 21:02 | 显示全部楼层
看LZ的程序,缺少允许PCA中断的设置,中断号也不对。
 楼主| zhenykun 发表于 2017-1-6 21:03 | 显示全部楼层

啊?那我还是先改改吧
typeof 发表于 2017-1-6 22:28 | 显示全部楼层
这是什么单片机?
typeof 发表于 2017-1-6 22:32 | 显示全部楼层
是msp430的处理器吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部