I've been trying to use my arduino to program an external eeprom(28C64) setting the address & data lines on arduino pins then toggling another pin to drive the eeprom's /WE or /OE.
My problem is that the output pins seem to get driven during the bootload and reset processes. I expected them to stay 3-state until I did something with them. Mostly I don't care but the eeprom's write enable is another matter.
to be specific, the last thing i tried was pin 10 (staying away from pins 0-1 & 13), I see it go to 0v on my multimeter during both the "upload to I/O Board" process and during a reset (either the serial monitor or the button on the arduino). I believe it's a real 0V rather than NC because I've tried a pullup resistor. I've included a bit of code below.
The only references to pin 10 are " digitalWrite(notwritepin,HIGH); pinMode(notwritepin, OUTPUT);". I've tried the pinmode before the digitalwrite of course. this was just my latest act of desperation.
Any suggestions?
..........
int notwritepin=10; //pin used to drive -OE
int notreadpin=11; // used to toggle the -MRD line
...............
void setup() {
...........
digitalWrite(notwritepin,HIGH); pinMode(notwritepin, OUTPUT);
digitalWrite(notreadpin,HIGH); pinMode(notreadpin, OUTPUT);
.............
}
byte readone(byte addr){
...............
writebits(addrlen,addrpins,addrbits);
digitalWrite(notreadpin,LOW); //set the output enable line
readbits(datapins,databits);
digitalWrite(notreadpin,HIGH); //reset the output enable line
...............
}