打印

没产生中断

[复制链接]
391|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2022-7-9 15:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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发现根本没有计时!
大家帮我看看,是不是疏忽那里了,我是看着手册来编程的。样板还没来,现在用keil来调试,唉。。。不懂那里出问题了

使用特权

评论回复
沙发
zhanglli|  楼主 | 2022-7-9 16:42 | 只看该作者
没有人遇到过这样的问题吗,,,,,,

看来要等样板来了再测一下了

使用特权

评论回复
板凳
dingy| | 2022-7-9 16:45 | 只看该作者
连上JTAG仿真吧 在SILICON的IDE下外挂KEIL编译器再加载些驱动就可以在线调试了 软仿真我没有玩过

使用特权

评论回复
地板
heweibig| | 2022-7-9 16:48 | 只看该作者
你确定的使能定时器跑了?

使用特权

评论回复
5
jlyuan| | 2022-7-9 16:51 | 只看该作者
还有好想也没见你使能定时器的中断啊

使用特权

评论回复
6
zhanglli|  楼主 | 2022-7-9 16:54 | 只看该作者
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;所以已经允许中断了。。。

使用特权

评论回复
7
dengdc| | 2022-7-9 16:57 | 只看该作者

请确定在项目中选择的芯片类型与实际的芯片类型一致。

使用特权

评论回复
8
zhenykun| | 2022-7-9 17:01 | 只看该作者
不同的芯片其硬件配置文件相差很大的,如果选错则硬件资源可能无**确仿真。

使用特权

评论回复
9
stly| | 2022-7-9 17:04 | 只看该作者
软件仿真?

使用特权

评论回复
10
zhanglli|  楼主 | 2022-7-9 17:06 | 只看该作者

不止PCA中断7仿真不行,中断6,中断8都不能响应!就算按手册的例子输进去也不行!
说明应该不是程序的问题。不过中断5以下的就可以了。。。
更多操作

使用特权

评论回复
11
zhanghqi| | 2022-7-9 17:09 | 只看该作者
不能,仿真经常出错,盲调才是王道。

使用特权

评论回复
12
zwll| | 2022-7-9 17:16 | 只看该作者
看LZ的程序,缺少允许PCA中断的设置,中断号也不对。

使用特权

评论回复
13
juventus9554| | 2022-7-9 17:19 | 只看该作者
先在Keil中看看所建立工程是否和产品一致

使用特权

评论回复
14
supernan| | 2022-7-9 17:22 | 只看该作者
其次软件设计的中断设置是否正确

使用特权

评论回复
15
zhanglli|  楼主 | 2022-7-9 17:24 | 只看该作者
嗯,我知道啦,呵呵

使用特权

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

本版积分规则

1016

主题

9386

帖子

1

粉丝