首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

cw效率怎么这么低啊 弄了个us定时器 要超频到64才能干点别的活

cw效率怎么这么低啊 弄了个us定时器 要超频到64才能干点别的活

cw效率怎么这么低啊 弄了个us定时器 要超频到64才能干点别的活



帮忙看看
是不是中断里写的不合理

#pragma CODE_SEG NON_BANKED
void interrupt 26 MDC_ISR(void){
DisableInterrupts;

MCFLG = 0x80; //清标志位
{ //

if (x_adc v_temp[y_adc][x_adc]=PORTA;
if (y_adc==video_x-10)
{
if (v_temp[y_adc][x_adc]>x_max) {
x_max=v_temp[y_adc][x_adc];
x_num= x_adc;
}
}
x_adc++;
}
else
{hang=1;

}
}


PACN0=0x00;
PACN1=0x00;
EnableInterrupts;
}
#pragma CODE_SEG DEFAULT /**/
请问您用的是哪款芯片?用什么模块产生的定时中断?

您的us定时器是指1个微妙就产生一次中断吗?果真如此那中断太频繁了。您真的需要这么频繁的中断吗?每次中断都要有入栈和出栈开销的,加上您的ISR中的处理代码,可能真的没有太多的CPU处理能力了。

根据我个人的使用经验,CW还是非常专业的。
返回列表