I needed a larger amount of non-volatile memory for my project and picked up a NOR FLASH IC chip (S25FL164K). I was able to get it working in single bit mode where my arduino sends a read command and the memory address to the chip with the MOSI pin and the chip sends the data back via the MISO pin. This setup is fine but I wanted to max out the speed at which I can access the data. In the datasheet(http://www.cypress.com/file/196886/download) on page 5, it lists the ability to do quad bit I/O data exchange which, as the name suggests, is significantly faster.
If I wanted quad output from the FLASH IC then I suspect I would use the MOSI pin to send the appropriate quad read command as well as the memory address to the chip and then use the MOSI pin and 3 other arduino pins as inputs to read the returned signal. Is this possible? Is it merely as easy as setting the MOSI pin’s pinMode to INPUT? I’ve never changed a pinMode in the loop before and was hoping someone more knowledgeable than myself could give me some guidance before I attempt this.
Moreover, the FLASH chip supports quad input and output. This mode confuses me even more. According to the timing diagrams on page 15 of the datasheet, it appears as though the command is sent by the MOSI pin but all four arduino pins are used to delineate the memory address. Is the MOSI pin only different from the other digital output pins in that it can give instructions?
Thanks so much to all you guys and girls in the community!