Посмотрел по логам, библиотеки не старее. В путях выбираются те, что под папкой 328pb 1.1.4. Но во время компиляции вываливаются сообщения о несуществующих регистрах, которые действительно по другому называются в заголовочных файлах 328pb. Наример в SPI.h
Код:
.arduino15/packages/m328pb/hardware/avr/1.1.4/libraries/SPI/src/SPI.h:152:16: error: ‘SPE’ was not declared in this scope
spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |
^
Код:
150
151 // Pack into the SPISettings class
152 spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |
153 (dataMode & SPI_MODE_MASK) | ((clockDiv >> 1) & SPI_CLOCK_MASK);
154 spsr = clockDiv & SPI_2XCLOCK_MASK;
155 }
Нет бита SPE в 328pb, есть SPE0 и SPE1. В ней два SPI. И таких ошибок несколько страниц.
Теоретически можно хэши посчитать на SPI.h и сравнить
Код:
$ md5sum .arduino15/packages/m328pb/hardware/avr/1.1.4/libraries/SPI/src/SPI.h
3bf0ea85c98a863da6927061c5f6e7d2 .arduino15/packages/m328pb/hardware/avr/1.1.4/libraries/SPI/src/SPI.h
Похоже на то, что версия одна и таже, но в файлах с одинаковым названием разный код. У меня ардуина 1.8.13, правда на линуксе, но исходники те же должны быть, тем более это один и тот же пакет с гитхаба. Сейчас посмотрю там файлик, кстати.
Вроде бы никаких чудес. Пора спать.