请问am29lv800db flash中dQ6 toggle bit 的用法我在对flashsh上的sector进行擦出后,用dQ6(toggle bit)和dQ5(exceeded timing limits)进行检测。程序如下:
unsigned char toggle_data,read_data;
toggle_data=*flash_base&0x40;
do{
if(((read_data=*flash_base)&0x40)==toggle_data)
break;
toggle_data=read_data&0x40;
}while((read_data&0x20)!=0x20); //没有超时
if(((read_data=*flash_base)&0x40)!=toggle_data)
return 0;
return 1;
调试时发现,dq5在第一个while循环时就是1了,擦除时间怎么会这么短就超时了
觉得有什么地方不对
但是能够返回1,也就是说dq6不再变化了
我想问一下,这样写的检测擦除完成程序对吗
正确的应该怎么写
谢谢!!