1.1 --- a/ArduinoAm29F010B.cpp Sun Jan 18 19:48:44 2015 +0100
1.2 +++ b/ArduinoAm29F010B.cpp Mon Jan 19 01:26:38 2015 +0100
1.3 @@ -1,4 +1,4 @@
1.4 -const int CE = 1, OE = 2, WE = 3,
1.5 +const int CE = A5, OE = 2, WE = 3,
1.6 CS1 = 4, CS2 = 5,
1.7 DQ0 = 6, DQ1 = 7, DQ2 = 8, DQ3 = 9,
1.8 DQ4 = 10, DQ5 = 11, DQ6 = 12, DQ7 = 13;
1.9 @@ -47,7 +47,7 @@
1.10 int data = 0;
1.11
1.12 setDataIn();
1.13 - delayMicroseconds(1);
1.14 + delay(10);
1.15
1.16 while (1)
1.17 {
1.18 @@ -100,10 +100,14 @@
1.19 high = (fromHex(buffer[1]) << 4) + (fromHex(buffer[2]));
1.20 low = (fromHex(buffer[3]) << 4) + (fromHex(buffer[4]));
1.21
1.22 + digitalWrite(CE, LOW);
1.23 setAddress(high, low);
1.24 + delay(10);
1.25 digitalWrite(OE, LOW);
1.26 data = readData();
1.27 + delay(10);
1.28 digitalWrite(OE, HIGH);
1.29 + digitalWrite(CE, HIGH);
1.30
1.31 return data;
1.32 }
1.33 @@ -119,10 +123,14 @@
1.34 low = (fromHex(buffer[3]) << 4) + (fromHex(buffer[4]));
1.35 data = (fromHex(buffer[5]) << 4) + (fromHex(buffer[6]));
1.36
1.37 + digitalWrite(CE, LOW);
1.38 setAddress(high, low);
1.39 + delay(10);
1.40 digitalWrite(WE, LOW);
1.41 writeData(data);
1.42 + delay(10);
1.43 digitalWrite(WE, HIGH);
1.44 + digitalWrite(CE, HIGH);
1.45
1.46 return true;
1.47 }
1.48 @@ -152,7 +160,7 @@
1.49
1.50 // Interface loop.
1.51
1.52 - Serial.print("? ");
1.53 + Serial.println("?");
1.54 Serial.setTimeout(3600000); // 1 hour
1.55
1.56 while (nread = Serial.readBytesUntil('\n', buffer, BUFSIZE))
1.57 @@ -165,16 +173,15 @@
1.58
1.59 case 'W':
1.60 if (writeOutput(nread))
1.61 - Serial.println("Written.");
1.62 + Serial.println("W");
1.63 else
1.64 - Serial.println("Command?");
1.65 + Serial.println("C");
1.66 break;
1.67
1.68 default:
1.69 + Serial.println("?");
1.70 break;
1.71 }
1.72 -
1.73 - Serial.print("? ");
1.74 }
1.75
1.76 Serial.println("Done.");