在线时间0 小时
UID326292
注册时间2011-11-3
NXP金币0
该用户从未签到
新手上路

- 积分
- 17
- 最后登录
- 1970-1-1
|
我用的是MC9S08AC32芯片,调试到这一步就调不下去了
void MCU_init(void)
{
/* ### MC9S08AC16_44 "Cpu" init code ... */
/* PE initialization code after reset */
/* Common initialization of the write once registers */
/* SOPT: COPE=0,COPT=1,STOPE=0 */
SOPT = 83;
/* SPMSC1: LVDF=0,LVDACK=0,LVDIE=0,LVDRE=1,LVDSE=1,LVDE=1,BGBE=0 */
SPMSC1 = 28;
/* SPMSC2: LVWF=0,LVWACK=0,LVDV=0,LVWV=0,PPDF=0,PPDACK=0,PPDC=0 */
SPMSC2 = 0;
/* SMCLK: MPE=0,MCSEL=0 */
SMCLK &= (unsigned char)~23;
/* System clock initialization */
/* ICGC1: HGO=0,RANGE=1,REFS=0,CLKS1=0,CLKS0=0,OSCSTEN=1,LOCD=0 */
ICGC1 = 68;
/* ICGFLT: FLT11=0,FLT10=0,FLT9=0,FLT8=0,FLT7=1,FLT6=1,FLT5=0,FLT4=0,FLT3=0,FLT2=0,FLT1=0,FLT0=0 */
ICGFLT = 192U; /* Initialization of the filter value */
/* ICGC2: LOLRE=0,MFD2=0,MFD1=0,MFD0=0,LOCRE=0,RFD2=0,RFD1=0,RFD0=0 */
ICGC2 = 0;
if (*(unsigned char*far)65470 != 255) { /* Test if the device trim value is stored on the specified address */
ICGTRM = *(unsigned char*far)65470; /* Initialize ICGTRM register from a non volatile memory */
}
/* Common initialization of the CPU registers */
/* PTGPE: PTGPE2=1,PTGPE1=1,PTGPE0=1 */
PTGPE |= (unsigned char)7;
/* PTDPE: PTDPE3=1,PTDPE2=1 */
PTDPE |= (unsigned char)12;
/* PTASE: PTASE1=0,PTASE0=0 */
PTASE &= (unsigned char)~3;
/* PTBSE: PTBSE3=0,PTBSE2=0,PTBSE1=0,PTBSE0=0 */
PTBSE &= (unsigned char)~15;
/* PTCSE: PTCSE5=0,PTCSE4=0,PTCSE3=0,PTCSE2=0,PTCSE1=0,PTCSE0=0 */
PTCSE &= (unsigned char)~63;
/* PTDSE: PTDSE3=0,PTDSE2=0,PTDSE1=0,PTDSE0=0 */
PTDSE &= (unsigned char)~15;
/* PTESE: PTESE7=0,PTESE6=0,PTESE5=0,PTESE4=0,PTESE3=0,PTESE2=0,PTESE1=0,PTESE0=0 */
PTESE = 0;
/* PTFSE: PTFSE5=0,PTFSE4=0,PTFSE1=0,PTFSE0=0 */
PTFSE &= (unsigned char)~51;
/* PTGSE: PTGSE6=0,PTGSE5=0,PTGSE3=0,PTGSE2=0,PTGSE1=0,PTGSE0=0 */
PTGSE &= (unsigned char)~111;
/* PTADS: PTADS7=0,PTADS2=0,PTADS1=0,PTADS0=0 */
PTADS = 0;
/* PTBDS: PTBDS3=0,PTBDS2=0,PTBDS1=0,PTBDS0=0 */
PTBDS = 0;
/* PTCDS: PTCDS5=0,PTCDS4=0,PTCDS3=0,PTCDS2=0,PTCDS1=0,PTCDS0=0 */
PTCDS = 0;
/* PTDDS: PTDDS3=0,PTDDS2=0,PTDDS1=0,PTDDS0=0 */
PTDDS = 0;
/* PTEDS: PTEDS7=0,PTEDS6=0,PTEDS5=0,PTEDS4=0,PTEDS3=0,PTEDS2=0,PTEDS1=0,PTEDS0=0 */
PTEDS = 0;
/* PTFDS: PTFDS6=0,PTFDS5=0,PTFDS4=0,PTFDS1=0,PTFDS0=0 */
PTFDS = 0;
/* PTGDS: PTGDS6=0,PTGDS5=0,PTGDS4=0,PTGDS3=0,PTGDS2=0,PTGDS1=0,PTGDS0=0 */
PTGDS = 0;
/* ### Init_GPIO init code */
/* PTAD: PTAD1=1,PTAD0=1 */
PTAD |= (unsigned char)3;
/* PTADD: PTADD1=1,PTADD0=1 */
PTADD |= (unsigned char)3;
/* ### Init_GPIO init code */
/* PTBD: PTBD2=0,PTBD1=1,PTBD0=1 */
PTBD = (PTBD & (unsigned char)~4) | (unsigned char)3;
/* PTBDD: PTBDD2=1,PTBDD1=1,PTBDD0=1 */
PTBDD |= (unsigned char)7;
/* ### Init_GPIO init code */
/* PTDD: PTDD0=0 */
PTDD &= (unsigned char)~1;
/* PTDDD: PTDDD0=1 */
PTDDD |= (unsigned char)1;
/* ### Init_KBI init code */
/* KBISC: KBIE=0 */
KBISC &= (unsigned char)~2;
/* KBISC: KBEDG7=0,KBEDG6=0,KBEDG5=0,KBEDG4=0,KBIMOD=0 */
KBISC &= (unsigned char)~241;
/* KBIPE: KBIPE7=0,KBIPE6=1,KBIPE5=1,KBIPE4=0,KBIPE3=0,KBIPE2=1,KBIPE1=1,KBIPE0=1 */
KBIPE = 103;
/* KBISC: KBACK=1 */
KBISC |= (unsigned char)4;
/* ### Init_ADC init code */
/* APCTL2: ADPC11=0,ADPC10=0,ADPC9=0,ADPC8=0 */
APCTL2 = 0;
/* ADC1CFG: ADLPC=0,ADIV1=0,ADIV0=0,ADLSMP=0,MODE1=0,MODE0=0,ADICLK1=0,ADICLK0=0 */
ADC1CFG = 0;
/* ADC1CV: ADCV9=0,ADCV8=0,ADCV7=0,ADCV6=0,ADCV5=0,ADCV4=0,ADCV3=0,ADCV2=0,ADCV1=0,ADCV0=0 */
ADC1CV = 0U;
/* ADC1SC2: ADACT=0,ADTRG=0,ACFE=0,ACFGT=0 */
ADC1SC2 = 0;
/* ADC1SC1: COCO=0,AIEN=0,ADCO=0,ADCH4=1,ADCH3=1,ADCH2=1,ADCH1=1,ADCH0=1 */
ADC1SC1 = 31;
/* ### Init_GPIO init code */
/* PTED: PTED7=0,PTED6=0,PTED5=0,PTED4=0,PTED3=0,PTED2=0,PTED1=0,PTED0=0 */
PTED = 0;
/* PTEDD: PTEDD7=1,PTEDD6=1,PTEDD5=1,PTEDD4=1,PTEDD3=1,PTEDD2=1,PTEDD1=1,PTEDD0=1 */
PTEDD = 255;
/* ### Init_GPIO init code */
/* PTFD: PTFD5=0,PTFD4=0,PTFD1=0,PTFD0=0 */
PTFD &= (unsigned char)~51;
/* PTFDD: PTFDD5=1,PTFDD4=1,PTFDD1=1,PTFDD0=1 */
PTFDD |= (unsigned char)51;
/* ### Init_GPIO init code */
/* PTCD: PTCD5=0,PTCD4=0,PTCD3=0,PTCD2=0 */
PTCD &= (unsigned char)~60;
/* PTCDD: PTCDD5=1,PTCDD4=1,PTCDD3=1,PTCDD2=1 */
PTCDD |= (unsigned char)60;
/* ### Init_FLASH init code */
/* FSTAT: FCBEF=0,FCCF=0,FPVIOL=1,FACCERR=1,FBLANK=0 */
FSTAT = 48; /* Clear error flags */
/* FCDIV: DIVLD=0,PRDIV8=0,DIV5=0,DIV4=0,DIV3=0,DIV2=0,DIV1=0,DIV0=0 */
FCDIV = 0; /* Set clock divider */
/* ### Init_IIC init code */
/* IIC1C2: GCAEN=1,ADEXT=0,AD10=0,AD9=0,AD8=0 */
IIC1C2 = 128;
/* IIC1A: AD7=0,AD6=0,AD5=0,AD4=0,AD3=0,AD2=0,AD1=0 */
IIC1A = 0;
/* IIC1F: MULT1=0,MULT0=1,ICR5=0,ICR4=1,ICR3=1,ICR2=1,ICR1=1,ICR0=0 */
IIC1F = 94;
/* IIC1S: TCF=1,IAAS=0,BUSY=0,ARBL=1,SRW=0,IICIF=1,RXAK=0 */
IIC1S = 146; /* Clear the interrupt flags */
/* IIC1C1: IICEN=1 */
IIC1C1 |= (unsigned char)128;
/* IIC1C1: IICEN=1,IICIE=0,MST=0,TX=1,TXAK=1,RSTA=0 */
IIC1C1 = 152;
/* ### Init_GPIO init code */
/* PTGD: PTGD3=0 */
PTGD &= (unsigned char)~8;
/* PTGDD: PTGDD3=1 */
PTGDD |= (unsigned char)8;
/* ### */
asm CLI; /* Enable interrupts */
} /Error: At location 00AD -
Error: Attempt to use invalid or uninitialized memory
*MCU_init*/
|
|