Parallel processing 用arduino制作并行闪存编程器的问题
我有一个非常大的项目,这只是其中的一小部分,但同样重要。我有一个由SST和微芯片(有点混乱)制成的并行闪存芯片,我很难绕过写保护。我使用arduino mega来编程,因为我没有时间等待程序员从中国发货。以下是闪存的数据表:Parallel processing 用arduino制作并行闪存编程器的问题,parallel-processing,arduino,flash-memory,Parallel Processing,Arduino,Flash Memory,我有一个非常大的项目,这只是其中的一小部分,但同样重要。我有一个由SST和微芯片(有点混乱)制成的并行闪存芯片,我很难绕过写保护。我使用arduino mega来编程,因为我没有时间等待程序员从中国发货。以下是闪存的数据表: void setup(){ 连载《开始》(19200); pinMode(A8,输出);//OE# pinMode(A9,输出);//我们# for(字节i=0;ifor(int i=40;i我修复了它!!!!所以在写入地址总线时,我意外地得到了错误的ANDIN值。非常感谢
void setup(){
连载《开始》(19200);
pinMode(A8,输出);//OE#
pinMode(A9,输出);//我们#
for(字节i=0;ifor(int i=40;i我修复了它!!!!所以在写入地址总线时,我意外地得到了错误的ANDIN值。非常感谢Nick Gammon,如果没有他,今天的测试可能会失败。更多关于答案:我需要更改wrt函数中的for循环,在写入地址总线时不要跳过512。:D代码:
digitalWrite(20,HIGH&&(loc&1));
digitalWrite(21,HIGH&&(loc&2));
digitalWrite(22,HIGH&&(loc&4));
digitalWrite(23,HIGH&&(loc&8));
digitalWrite(24,HIGH&&(loc&16));
digitalWrite(25,HIGH&&(loc&32));
digitalWrite(26,HIGH&&(loc&64));
digitalWrite(27,HIGH&&(loc&128));
digitalWrite(28,HIGH&&(loc&256));
digitalWrite(29,HIGH&&(loc&1024));
digitalWrite(30,HIGH&&(loc&2048));
digitalWrite(31,HIGH&&(loc&4096));
digitalWrite(32,HIGH&&(loc&8192));
digitalWrite(33,HIGH&&(loc&16384));
digitalWrite(34,HIGH&&(loc&32768));
需要成为
digitalWrite(20,HIGH&&(loc&1));
digitalWrite(21,HIGH&&(loc&2));
digitalWrite(22,HIGH&&(loc&4));
digitalWrite(23,HIGH&&(loc&8));
digitalWrite(24,HIGH&&(loc&16));
digitalWrite(25,HIGH&&(loc&32));
digitalWrite(26,HIGH&&(loc&64));
digitalWrite(27,HIGH&&(loc&128));
digitalWrite(28,HIGH&&(loc&256));
digitalWrite(29,HIGH&&(loc&512));
digitalWrite(30,HIGH&&(loc&1024));
digitalWrite(31,HIGH&&(loc&2048));
digitalWrite(32,HIGH&&(loc&4096));
digitalWrite(33,HIGH&&(loc&8192));
digitalWrite(34,HIGH&&(loc&16384));
没有修复它,但肯定有帮助,因为那样会弄乱写入。thx!:DGlad它起作用了。我忍不住想,你可以用一个循环来代替它。毕竟,管脚编号增加了1,你会为每个管脚向左移动1个。我希望它稍微快一点,以增加成功的机会,现在我看到它不是w没关系,我真的很绝望。
digitalWrite(20,HIGH&&(loc&1));
digitalWrite(21,HIGH&&(loc&2));
digitalWrite(22,HIGH&&(loc&4));
digitalWrite(23,HIGH&&(loc&8));
digitalWrite(24,HIGH&&(loc&16));
digitalWrite(25,HIGH&&(loc&32));
digitalWrite(26,HIGH&&(loc&64));
digitalWrite(27,HIGH&&(loc&128));
digitalWrite(28,HIGH&&(loc&256));
digitalWrite(29,HIGH&&(loc&512));
digitalWrite(30,HIGH&&(loc&1024));
digitalWrite(31,HIGH&&(loc&2048));
digitalWrite(32,HIGH&&(loc&4096));
digitalWrite(33,HIGH&&(loc&8192));
digitalWrite(34,HIGH&&(loc&16384));