Part Number:MSP430F437
该mcu在批量时,有3%概率比较器中断不中进入,通过通讯让它初始化也是不能够恢复中断,只有复位才能恢复,我希望中断原因是什么,是在上电异常 还是运行过程中异常,是否是器件bug。
代码如下:
#pragma vector=TIMERA0_VECTOR__interrupt void TIMER0_A0(void)
{
isr_flag = 0x01;
P4OUT |= (BIT7 + BIT6);
P4DIR |= (BIT6+BIT7);
TACTL = 0;}
以下是main运行代码
void Pulse_send(void)
{
uchar i;
i = 0;
#ifndef flag_485
if(totalled_flux_flag == 1)
{
totalled_flux_flag = 0;
P4OUT &=~ BIT6;
i = 1;
}
#endif
if(totalled_heat_flag == 1)
{
totalled_heat_flag = 0;
P4OUT &=~ BIT7;
i = 1;
}
if(i == 1)
{
P4DIR |= (BIT7 + BIT6);
Init_timer_A3();
}
}
变量totalled_flux_flag /totalled_heat_flag 通过uart 让它置1,结果是没有IO拉高的结果。
Susan Yang:
faqu chen 说:有3%概率比较器中断不中进入
您是否有调试一下这些有问题的板子?看是在执行哪一句的代码会出现问题
是否每次都会出现不能进入中断?还是偶尔不能进入中断?
,
faqu chen:
如果重新启动就恢复正常,无法仿真,概率很低的故障。
,
Susan Yang:
faqu chen 说:无法仿真,概率很低的故障
无法仿真的话,很难定位问题的原因。就目前的信息来看,我暂时无法确认
芯片勘误表的话,您可以看一下
https://www.ti.com.cn/cn/lit/er/slaz208h/slaz208h.pdf
若是可以的话,您能否将定时器程序单独做一个工程,我在开发板上验证一下
,
faqu chen:
我把工程处理下发上来,帮忙看下吧,heatmeter-testpulse.rar
,
faqu chen:
我发的工程有什么问题吗?