@technotrasher, Глобальные переменные входят в 75%, в динамической памяти объявляются локальные, локальные статические переменные, стек, который увеличивается при каждой вложенной функции.
не путайте память для программ - флеш и память для переменныз - RAM. У вас нехватка RAM. а загрузчик позволяет экономить FLASH. Вам удаление загрузчика не поможет.ладно. я понимаю - 328P. может загрузчик убрать и через ISP.
о! благодарю. уже прочитал про загрузчик. а вот microled - нужно проверять. некоторые тут считают, что это ничего не даст. хотя как по мне микролед проще? но им нужно уметь пользоваться. основной нюанс там в палитре. и в перлине эффекте. который все равно через фаст лед работает.не путайте память для программ - флеш и память для переменныз - RAM. У вас нехватка RAM. а загрузчик позволяет экономить FLASH. Вам удаление загрузчика не поможет.
В вашем случае поможет оптимизация программы или переход на microLED
void loop()
{
Serial.println(100);
delay(1000);
}
void loop()
{
print100();
}
void print100()
{
Serial.println(100);
delay(1000);
}
основной нюанс там в том, что микролед можно настроить на использование двух байтов памяти на каждый светик ленты, а фастлед всегда использует три и даже четыре. Вот это имеет прямое отношение к вашей проблеме, а палитры и эффекты это мелочиmicroled - нужно проверять. некоторые тут считают, что это ничего не даст. хотя как по мне микролед проще? но им нужно уметь пользоваться. основной нюанс там в палитре. и в перлине эффекте
ага. премного благодарен. попробую. если можете дать пару советов - очень хорошо. практических.основной нюанс там в том, что микролед можно настроить на использование двух байтов памяти на каждый светик ленты, а фастлед всегда использует три и даже четыре. Вот это имеет прямое отношение к вашей проблеме, а палитры и эффекты это мелочи
Схема та что по сслыке в шапке - ссылка на плату и схему https://oshwlab.com/technotrasher/colormusic ?Схема есть
Спасибо. Изучу !!!схема на ОУ - в этой ветке
Собирите пожалуйста! Я к сожаленгию не обладаю такими познаниями что бы все самому срукоблудить. Но качественно скопировать я могу. Очень хочу повторить. Давняя мечтаиз юности собрать домой цветомузыку, но теперь на современныъ решениях.Ладно, может и соберу вам образец на ва3834, чтоб было что повторять
повылазило у меня в схеме с MSGEQ7 и с фильтрами. это называется нормальная разработка с устранением багов. если один режим работает - это не значит, что работают остальные. у меня, например только ЦМУ 7 режимов. с 12 подрежимами!!!!!!! не считая подсветок и все остального. это все должно работать. а на плату с ва3834 - уже готов скетч? интересно бы глянуть обработку сигнала. которую потом можно уже "скармливать" обработчиками для режимов ЦМУ. в самой плате, например у меня те части, которые ожидалось заработают сразу - оказались не рабочими. и т.д. а в теории все работает! и да. все и должны копировать. потому что кто ещё тут готов потратить немного денег - элементы и заказ плат (уже третий заказ будет баксов 50 уже только так ушло) и время. сколько времени то ушло. а я ещё на 6 работах работаю. поэтому, уж лучше один делает и остальные повторяют, если смогут. даже в готовом девайсе простор для творчества огромный. а вообще так сказать на разработку ЦМУ потрачено около 200 у.ё. и года полтора по времени. конечно тут все такое сделают за ночь. и скетч напишут за пару часиков. у меня так не вышло.@technotrasher, а чего могло повылазить, если никто не делал? Или я что-то пропустил?
Но я уже понял, что пока вам готовую конструкцию не покажешь - никто не решится сам собрать, только готовое повторять умеетеОдин человек на msgeq7 собрал - вот все и копируют.
Ладно, может и соберу вам образец на ва3834, чтоб было что повторять![]()
не тратьте время в пустую. если данные знания не пригодятся в дальнейшем. подождите - я все сделаю. будет готовая и отлаженная. на MSGEQ7 скетч отлажен. хотя сегодня поймал ошибку забавную и мелочную - не там единичка вычитаасьСпасибо. Изучу !!!
да. к сожалению опыта нет. я не программист и не схемотехник. всего по чуть. а можно скетч? я имею ввиду не тот огрызок, что у Вас, а полный скетч ЦМУ. а мелочи стоят всего. например, мне нужен оптимизированный код. что бы я мог добавить максимальное кол-во светодиодов. каждый режим должен быть проверен. работа от линейного входа или от микрофона. как это переключать. компрессор. переключение между компрессором и "байпасом". автокоррекция громкости и т.д. Я называю проектом - схема. плата. скетч. описание.@technotrasher, в вашем случае мне кажется из-за отсутствия опыта вы очень много времени тратите на мелочи, которые того не стоят.
Arduino: 1.8.19 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino: In function 'bool timer_func(int)':
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:336:40: warning: default argument given for parameter 1 of 'bool timer_func(int)' [-fpermissive]
bool timer_func (int val = effect_delay) { // Таймер общий
^
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:315:6: note: previous specification in 'bool timer_func(int)' here
bool timer_func (int val = effect_delay);
^~~~~~~~~~
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino: In function 'void updateEEPROM()':
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:473:25: warning: invalid conversion from 'Settings*' to 'uint16_t {aka unsigned int}' [-fpermissive]
EEPROM_UpdateBlock(1, &mainSettings, sizeof(mainSettings));
^~~~~~~~~~~~~
In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:15:6: note: initializing argument 2 of 'void EEPROM_UpdateBlock(uint8_t, uint16_t, uint8_t)'
void EEPROM_UpdateBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //обновление блока в EEPROM
^~~~~~~~~~~~~~~~~~
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino: In function 'void readEEPROM()':
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:478:23: warning: invalid conversion from 'Settings*' to 'uint16_t {aka unsigned int}' [-fpermissive]
EEPROM_ReadBlock(1, &mainSettings, sizeof(mainSettings));
^~~~~~~~~~~~~
In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:29:6: note: initializing argument 2 of 'void EEPROM_ReadBlock(uint8_t, uint16_t, uint8_t)'
void EEPROM_ReadBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //чтение блока из EEPROM
^~~~~~~~~~~~~~~~
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\remoteTick.ino: In function 'void remoteTick()':
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\remoteTick.ino:17:31: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint16_t {aka unsigned int}' [-fpermissive]
EEPROM_UpdateBlock(0, &st, sizeof(st)); //в 0 ячейку пишем нуль для отметки о первом запуске
^~~
In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:15:6: note: initializing argument 2 of 'void EEPROM_UpdateBlock(uint8_t, uint16_t, uint8_t)'
void EEPROM_UpdateBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //обновление блока в EEPROM
^~~~~~~~~~~~~~~~~~
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino: In function 'void setup()':
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino:41:23: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint16_t {aka unsigned int}' [-fpermissive]
EEPROM_ReadBlock(0, &st, sizeof(&st));
^~~
In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:29:6: note: initializing argument 2 of 'void EEPROM_ReadBlock(uint8_t, uint16_t, uint8_t)'
void EEPROM_ReadBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //чтение блока из EEPROM
^~~~~~~~~~~~~~~~
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino:45:27: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint16_t {aka unsigned int}' [-fpermissive]
EEPROM_UpdateBlock(0, &st, sizeof(st));
^~~
In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:15:6: note: initializing argument 2 of 'void EEPROM_UpdateBlock(uint8_t, uint16_t, uint8_t)'
void EEPROM_UpdateBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //обновление блока в EEPROM
^~~~~~~~~~~~~~~~~~
setup:53:3: error: 'PRR' was not declared in this scope
PRR &= ~(1 << PRADC);
^~~
F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino:53:3: note: suggested alternative: 'PRR0'
PRR &= ~(1 << PRADC);
^~~
PRR0
exit status 1
'PRR' was not declared in this scope
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.