I'm trying to get bidirectional SPI comms. between an Atmega16M1 running on an STK600 using the alternate ports MOSI_A etc and an Atmega16A running on an Easy AVR5A.
I've checked (and had independently checked) the port connections and am using assembler in Studio5.
I can send data from master to slave with no problem but although MISO shows pulse activity on my scope, the master will not return any data. I have checked that I'm not getting a write collision during Slave send.
I've lost a lot of my remaining hair on this. All the published examples I've found only describe an interrupt or polled transmission from Master to Slave (ie. one way). The DN_035.pdf document that describes bidirectional transmission resorts to dynamic switching of Master/Slave to achieve alternate half duplex comms. Why? If full duplex is available using the SPI ports on the AVR chips, why not use it?
Has anyone any experience of the Atmega16M1 chip? Is there a problem with it when using the alternate port designation?
Any help/suggestions would be gratefully received.