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

关于BDM调试的两个问题请教

关于BDM调试的两个问题请教

各位好
问题1:我的系统有几个大的接触器和继电器,在接触器和继电器开通尤其是关断的时候产生很大的电磁干扰,其实系统电压220V左右,触点电流不超过1A,我在触点和按钮上都加了RC滤波,也确实降低了干扰。但是干扰并不干扰单片机,主要影响BDM仿真器,一旦有干扰仿真器的两个灯就不亮了,电脑的USB接口识别不了仿真器便出现调试失败的现象?加了很多滤波措施还是不行啊?有其他解决的问题吗?
问题2:我的程序里面有个定时器0中断,用的是PT0口,在上升沿和下降沿均中断。下面是定时器设置和中断服务子程序。在调试的时候,我在其他地方设立断点,开始程序走到断点位置并不执行,而是转去执行中断服务子程序,执行完毕程序就飞了,复位后重新执行,或者是不复位直接继续按运行按钮出现复位的现象。怎么回事?谢谢指点。

//主定时器设定
TSCR1=0xA0; //允许主定时器正常运行
TSCR2=0x00; //禁止定时器溢出中断,自由运行
TIOS=0x00; //各个输入输出通道设定为输入捕捉
TCTL4=0x03; //A相输入捕捉上下沿均检测
//TCTL4 = 0x3f; //三相输入捕捉上下沿均检测
TIE=0x01; //A相输入捕捉通道0中断允许

void ISR_Ia(void)
{
TFLG1_C0F=1; //清除IC0通道中断标志位
AQsignal=OnAsignal; //无论何种情况都先把晶闸管控制信号送出去

if(PN0toflag==0xaa) //继电器已经切换
PN0flag=0xaa; //确认切换完毕,主要是给出一定的延时,让继电器得以充分切换

if(PNflag==0xaa) //具备短接条件
{
KB4A=0;
KB5A=0;
PNflag=0x55; //短接完毕赋原值
}
}



由于“BDM仿真器”上有比较长的电缆,确实比较容易受电磁干扰的影响。你可以在调试的时候用另外的负载代替接触器和继电器,如LED灯等。
你的中断子程序是否放入非分页地址?
海纳百川  有容乃大
返回列表