Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
inline void sendData8Dirt_SPI1(uint8_t bData, uint8_t len)
{
// +2 mov cycles
asm volatile(
"out %[spdr], %[bData] \n" // 1 - transmit byte
"dec %[len] \n" // 1 - decrease count
"brne .-4 \n" // 1 -false 2-true; is it 0?
:
[bData] "=r" (bData),
[len] "=r" (len)
:
"[bData]" (bData),
"[len]" (len),
[spdr] "I" (_SFR_IO_ADDR(SPDR)) // SPI data register
: "cc" // indicates what flags may be clobbered
);
}
Интересно, сколько fps выдает игра?
Поэтому я пошел дальше — полностью отказался от кадровой привязки.
Извиняюсь, конечно, за мой прокол, но дисплей, дисплей-то spi. А это накладывает некоторые ограничения на передачу большого фреймбуффера. Но поскольку отрисовывается только изменяемая область — я не в понятках. Хоть скажите, играется динамично, как на nes или медленнее?
когда разработчику не хватает ресурсов он берёт камень посильнее
SPI на AVR помимо того что работает на скорости F_CPU/2, так и регистр данных всего на 1 байт (нет возможности загружать 2 байта сразу).
Firecore — нескучная игра на AVR