Ситуацията е следната - донесоха ми устройство което е направено с АТ89С52, и се нуждае от някои нови функции. Но сорс, опит в писането на 8052 и развойна среда&програматор при нас (във фирмата) няма, но пък за AVR има всичко - извода беше, че всичко е по-добре да се напише отначало.
След известно ровене се оказа, че Atmega8515 (или по-стария 90S8515) е напълно съвместим по изводи, като изключим полярността на ресета. Това се реши лесно и повечето неща тръгнаха веднага.
Така, на хардуерният SPI (PB5, PB6, PB7) има закачени 93C46 и АЦП ADC8032, и разбира се аз закачих и сериен програматор(през резистори). Всичко друго добре, но SPI не поиска да тръгне - като проверих връзките по-внимателно излезе, че хората са вързали Slave-овете DataOut към MOSI, и DataIn към MISO на микроконтролера

Хубаво е, че бяха вързани през джъмпери - обърнах връзките и всичко си дойде на мястото. Но... изглежда сравнително грозно.
Въпроса ми за програмирането е - освен да се напише софтуерен SPI и така да обърна пиновете, сещате ли за друг хитър начин да разменя MISO и MOSI?