
连续读EE时,例如 data_1=Read_ee(1); data_2=Read_ee(2); data_3=Read_ee(3); data_4=Read_ee(4); data_5=Read_ee(5); data_6=Read_ee(6); data_1=Read_ee(1); 的值读不出来,后面的都读的对的,写函数没有问题 unsigned char Read_ee(unsigned char add) { static unsigned char *p; p=(unsigned char *)(add+0x4000); return *p; } void Write_ee(unsigned char add,unsigned char data) { static unsigned char *p; p=(unsigned char *)(add+0x4000); do{FLASH_DUKR=0xae;FLASH_DUKR=0x56;}while(FLASH_IAPSR_DUL==0); *p=data;while(FLASH_IAPSR_HVOFF==0); } |
并且解锁动作做在读前面,试试。。
解锁动作只要做一次,解完就别锁了。试试。