我公司一批产品,刚开始运行正常,可是一手动复位就出现死机现象.更换EEPROM后又会正常.电路使用的是PIC24FJ128GA010芯片.请对这类芯片比较熟悉的大侠指点这是为什么啊?是硬件问题还是软件的问题啊?望能给出几点可能原因,以便修改调试... EEPROM电路如下. https://bbs.21ic.com/upfiles/img/20079/2007912162048889.rar
程序上电复位后,会对EEPROM进行初始化,代码如下:
void EEDataInit(void) { unsigned char i; unsigned int j;
AT24_WP_TRIS = 0;
if(AT24EERadomRead(EE_TEST)!=0X55) { AT24EEByteWrite(EE_TEST,0X55);
Delayms(10);
if(AT24EERadomRead(EE_TEST)!=0X55) {
if(I2C2STATbits.BCL) { I2C2CON=0x0000; PORTAbits.RA2=0; Delayms(5); PORTAbits.RA2=1; Delayms(5); PORTAbits.RA2=0; Delayms(5); PORTAbits.RA2=1; __asm__ volatile ("RESET"); } else { unsigned char i; for(i=0;i<4;i++) SHOW_LED=0x00; InitShow(); Show(); while(1) { DataToDisplay(); KEYScan(); CommtoPC(); } } }
else { j=FANG_AN1; for(i=0;i<8;i++) { if(AT24EERadomRead(j)>16) AT24EEByteWrite(j,0x00); j++; } ......//其它相似程序段
} }
WORK_STATE = AT24EERadomRead(EE_WORK_STATE);
......//其它相似语句
}
void main (void) { InitializeSys();
while(1) { DataToDisplay(); KEYScan(); CommtoPC(); } }
相关链接:https://bbs.21ic.com/upfiles/img/20079/2007912162048889.rar |