Вот тут вторая порция, тоже комментировал, как понял, но не все понял, я понимаю, что задолбал с дилетантскими вопросами, но вдруг кроме меня это еще кому надо, а вы, автор программы, хоть и давней, как говорится от первого лица...
digitalWrite(MAX7456SELECT,LOW); // переводим MAX в режим приема данных
spi_transfer(DMM_reg); // команда отправляющая через интерфейс SPI в MAX7456 данные (DMM_reg это 0x04)
// в начале были задекларированы. почему 0х04? DMM - режим работы памяти. 04H - записываемый регистр из даташита?
spi_transfer(settings);
spi_transfer(DMAH_reg); // команда отправляющая через интерфейс SPI в MAX7456 данные (старший байт) или подготовка MAX
// к приему старшего байта адреса?
spi_transfer(char_address_hi); // команда отправляющая через интерфейс SPI в MAX7456 данные где взять символ (старший байт)
spi_transfer(DMAL_reg); // команда отправляющая через интерфейс SPI в MAX7456 данные (младший байт) или подготовка MAX
// к приему младшего байта адреса?
spi_transfer(char_address_lo); // команда отправляющая через интерфейс SPI в MAX7456 данные где взять символ (младший байт)
while(s[local_count]!='\0') // Запуск цикла с числовой константой "s" пока выражение (s[local_count]!='\0') - истина,
//будет выполнятся. синтаксис не понятен : s[local_count] - числовая константа байта "local_count"?
{
screen_char = s[local_count]; //
if(screen_char != 208 && screen_char != 209) // если байт "screen_char" не равен 208 и не равен 209 то...
//промежуток между 208 и 209 является условием... не понятно
{
spi_transfer(DMDI_reg); // отправить в MAX "DMDI_reg 0x07" вход данных памяти дисплея
spi_transfer(screen_char); // и отправить туда же байт "screen_char"
}
local_count++; // байт "local_count" +1
}
spi_transfer(DMDI_reg); // отправить в MAX "DMDI_reg 0x07" - вход данных памяти дисплея
spi_transfer(END_string); // отправить в MAX "END_string 0xff" - конец строки, это команда SPI ?
spi_transfer(DMM_reg); // отправить в MAX "DMDI_reg 0x07" - вход данных памяти дисплея
spi_transfer(B00000000); // отправить в MAX "B00000000" нуль... для сего его отправлять?
digitalWrite(MAX7456SELECT,HIGH); // конец приема данных.