Всё, умолкаю. Подожду, что ТС ответит))
На всякий случай проверил ту же ардуину на простом скетче «счета секунд» с выводом в сериал - считает правильно. Моя ардуина исправна.
Что-то посмотрел внимательней твой пример, и не понял нифига - что ты хочешь показать. Цикл луп длится 12+X(?) секунд, а ты измеряешь секунды. Как по мне - это не сброс
Объясни тупому, в чём смысл этих замеров?
P.S. Запустил в WOKWI - подобный пример, без никакой библиотеки - примерно тоже самое показывает:
Спойлер
uint32_t old;
void setup() {
//===========
Serial.begin(9600);
old = millis();
}
void loop() {
if (millis() - old >= 1000) {
old = millis();
Serial.print("Seconds:");
Serial.println((millis() % 1000));
}
delay(2111);
}
Интересно, чего вы ожидали с таким кодом:
Не вижу никакого сброса
даже не секунды, а остаток миллисекунд от целой секунды.
Как по мне, в коде от @BOOM в Сериал выводится почти рандомное число. То что оно выглядит как увеличивающийся счетчик - чистая случайность.
Не используется
Виноват, признаю ![]()
Значит код рабочий…
Точнее никак?
Владимир, залил Ваш скетч (библиотека установлена). При компиляции ИДЕ ругается следующим образом:
no matching function for call to ‘shMAX72xx7Segment<12, 3, 8>::setChar(int, int, uint8_t, bool, bool)’
Скетч использует 3696 байт (12%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 230 байт (11%) динамической памяти, оставляя 1818 байт для локальных переменных. Максимум: 2048 байт.Used library Version Path
shMAX72xxMini 1.5.10 /mnt/B6F0D77CF0D74173/_Documents/Vladimir/YandexDisk/Arduino/libraries/shMAX72xxMini
SPI 1.0 /home/vladimir/.arduino15/packages/arduino/hardware/avr/1.8.6/libraries/SPI
Все компилируется. Возможно, нужно обновить библиотеку, я ее вчера правил, может быть вы скачали раньше
Обновил по Вашей ссылке. Компилируется и загружается, но горят полной яркостью все “8.” только на первом девайсе (который 0).
Подключили правильно? Так бывает, когда пины перепутаны
// вывод CS модуля подулючен к пину D10 Ардуино, выводы DIN и CLK модуля подключены к пинам D11 и D13 Ардуино соответственно
У меня трех семисегментников нету, но на матрицах скетч работает как надо, только в методах clearDevice() нужно добавить второй параметр true
lc_test.clearDevice(0, true); //Очистить дисплей
для всех трех модулей
Вывод CS модуля подключен к пину D12 Ардуино, выводы DIN и CLK модуля подключены к пинам D11 и D13 Ардуино соответственно. Ошибки подключения нет. Проверил. Второй параметр true всем модулям добавил. Картина та же: первый модуль выдает восемь восьмёрок. Остальные не горят.
#define CS_PIN 10
В скетче указал #define CS_PIN 12
Или надо именно #define CS_PIN 10?
В скетче указан #define CS_PIN 10, я оттуда скопировал. На пине 12 сидит MISO, поэтому его использовать не нужно
Щас попробую. Попробовал перекинуть на 10. Заработало. Пока не срывается в мерцание.
Большое спасибо за помощь, Владимир. Буду ваять дальше (надо разобраться с масками символов, тогда все будет ОК).

