SLE4442密码校验时,采用430单片机读取,按照流程最后一步擦除EC后读取EC的值为0x07,D但就是没有写的权限。
wcounter=sle4442_rdEC(); // 读错误计数器
if(wcounter==0x07)
{
wcounter = 0x03;
}
else if(wcounter==0x06 || wcounter==0x05 || wcounter==0x03)
{
wcounter = 0x01;
}
else if(wcounter==0x01 || wcounter==0x02 || wcounter==0x04)
{
wcounter = 0x00;
}
/*wcounter=wcounter<<1;*/
//putchar(wcounter);
//sle4442_reset();
sle4442_command(0x39,0x00, wcounter); // 写错误计数器
sle4442_programming(255);
//sle4442_reset();
sle4442_command(0x33,0x01,vdbuf[0]); // 比较 PSC byte 1
sle4442_comp();
//sle4442_reset();
sle4442_command(0x33,0x02,vdbuf[1]); // 比较 PSC bye 2
sle4442_comp();
//sle4442_reset();
sle4442_command(0x33,0x03,vdbuf[2]); // 比较 PSC bye 3 ]
sle4442_comp();
//wcounter=sle4442_rdEC();
//sle4442_reset();
sle4442_command(0x39,0x00,0x07); // 擦错误计数器
sle4442_programming(255);
wcounter=sle4442_rdEC(); // 再读错误计数器