I'm currently looking at getting a MCP23S17 operating a 3.3V while my Arduino Duemilanove is running at 5V. I tried to use an 74LS07 (open collector buffer) with external 3.3V pullups (10k) at the output pins to shift the levels of my SPI MOSI, clock and SS pins down to 3.3V. For the MISO lane I do it the opposite way, just with a 5V pullup (the datasheet told me that this chip should recognize 3.3V as HIGH if the 74LS07 itself runs at 5V.
So my question is: Does this method even work for high frequencies used on the SPI bus? Because I was having some trouble getting it running with this way (all the pins stay in 3rd state/input mode which is the default setting) with the library for the MCP23S17 I found here: GitHub - dreamcat4/Mcp23s17: Arduino library for the Microchip MCP23S17
So I hope you can help me with this little problem (and understand it ... I'm not the best English speaker)