I recently purchased a magnetic card reader for use with the Arduino. For data out of the reader it has a clock line and a data line. Clock is active high, data active low. Warning: I'm a noob with this stuff, but I was under the impression that I could wait for the clock line to go high, read the data line, wait for the clock line to go low... repeat. This however produces rather random output. I thought that timing could have something to do with it, so I attached a RISING interrupt to the clock line and read the data line in the interrupt function. This produces less random data (all HIGHs), but not correct as far as I can tell.
Is the Arduino just not fast enough to pull in data from a magnetic card reader? Will I need some kind of synchronous serial buffering IC between the reader and the Arduino? Any advice/suggestions appreciated.