|
请教LGT技术人员 外部晶振是否对写EEPROM有影响 ssop24的芯片 当用内部rc时读写正常
用个部晶振12M 读出正常 偶尔能写成功 极不稳定
调试时 走一次后EEPE使终为1 (手册上说写成功后会硬件清零) 改内部RC时钟则无任何问题
以下是程序- #include <iolgt8f0xa.h>
- #include <intrinsics.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define F_CPU 12000000UL
- #define delayms(x) __delay_cycles(x*F_CPU/1000)
- uchar i;
- uchar temp[255];
- void clock_init()
- {
- PMCR=0X31;
- delayms(10);
- PMCR=0X30;
- CLKPR=0X80;
- CLKPR=0X80;
- }
- void eeprom_write(uchar add,uchar dat)
- {
- while(EECR&(1<<EEPE));
- EEAR=add;
- EEDR=dat;
- EECR|=(1<<EEMPE);
- EECR|=(1<<EEPE);
- }
- uchar eeprom_read(uchar add)
- {
- while(EECR&(1<<EEPE));
- EEAR=add;
- EECR|=(1<<EERE);
- __no_operation();
- __no_operation();
- return EEDR;
- }
- int main( void )
- {
- clock_init();
- while(1)
- {
- eeprom_write(i,i);
- i++;
- }
- }
复制代码 |
|