我可以成功写进去,可是读出来就不对了,我用了下面这个函数
“INT8U write_flash_with_protect_in_one_sector(INT16U begin_addr, INT16U counter, INT8U array[])“
INT8U Test_array_total[2] ={0X01,0X02} ;
pr= Test_array_total ;
f( write_flash_with_protect_in_one_sector(0x8000, 2, pr)) display_OK_LED(); else display_ERROR_LED();*/
目的在第一个扇区的8000和8001,写进0x01和0x02,指示灯就亮了,说明 写进去了
然后我用INT8U sector_erase(INT16U sector_addr)函数
if( byte_read(0x8001)==0X02) { display_OK_LED();}
读出来指示灯就不亮了,说明读出来的时候有问题?
但是我用单字节写函数 INT8U byte_program_and_verify(INT16U byte_addr, INT8U original_data)
if(byte_program_and_verify(DEBUG_Data_Memory_Begin_Sector_addr,0x55) == OK)
display_OK_LED(); // P1^2 else display_ERROR_LED(); //P1^1 再读出来就没问题,很奇怪
那位做过提示一下 |