Hi, thanks for the reply.
I am not sure how that helps however. I understand that the microwire has a 3 wire protocol, clock, data in and data out. I did buy some 4.7 resistors and some diodes in the afternoon, so I hope that works.
You might be able to get the SPI interface to do the job.
I did learn the hard way you need to tie your CS pin in the right direction. Whatever direction keeps it inactive until the microcontroller selects that chip. Since the CS pin will float when the main micro is being programmed, the other chip might start talking.
When you say tie the CS the right direction, what do you mean?
Looking at the datasheet, if CS is held high then the chip is selected.
"All serial communications with the device is enabled only
when this pin is held high."Looking at the Serial Clock, is confusing me, it seems to be that the timing is most important. Timing impacts the Serial Input and Serial Output.
I have no idea how to read the graphs that are about timing.
I am pretty sure that the datasheet i am looking at belongs to this chip:
Then the CS pin on the EEPROM should be "tied low" or "pulled down." 5k to 10k resistor will do the job.
The term "pull up" or "pull down" can be read as "default high" or "default low." It is important to have these resistors in place. These set the "default" state of the board.
The ATMEGA chips will "tri-state" their pins during boot and programming. An un-"tied" CS pin can give the slave chip the wrong signal. They are "floating." This means the state can be anything (HIGH or LOW). Even the direction the wind is blowing can change that.
When you get an oscilloscope and see how fast this stuff happens, this all will be real clear.
Sorry for dumb questions, but why would CS need to be tied low?
Pulled down is actually the right term. If you have a pin that you are monitoring for state changes (for SPI the Chip Select pin does this) then you want that pin either sitting at the high voltage or the low voltage.
If the pin isn't pulled to one voltage or the other, then it is floating. Floating pins will move past their on/off threshold and trigger unwanted events.
Other devices use the SPI bus. Programming the ATMega can also use the SPI bus. You must make sure the slaves on the SPI bus are in their off state unless they are being accessed. When the ATMega is being programmed it cannot control the pins of the slave. Those pins will float. This can cause the EEPROM to think you're reading from it. It will send on the MISO line thinking it is selected.
I may have not clarified, but this eeprom is external from the Arduino.