Например TDA7294

Форум РадиоКот • Просмотр темы - Почему скетч и схема для Ардуино Нано не работает на Меге?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт окт 28, 2025 19:03:19

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 82 ]    , 2, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Вт июл 29, 2025 22:18:49 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вячеслав70
Посмотрел я Ваш исходник...
От ардуино там только компиляция.
Автор исходника по максимуму прошелся по аппаратным модулям, причем зацепил и те, что обычно системой используются.
Это скорее просто СИ для АВРок под ардуино IDE, причем с заявкой на максимальную оптимизацию под минимальный размер кода (и с нулевыми комментариями).
Доработать такое разве что автор того проекта быстро и качественно сможет сделать.
8)
Компилируется данный исходник и под атмегу2560 - выбираем в вкладке
инструменты -> ArduinoAVRboards -> arduino Mega or mega 2560
затем в строке выбора МК платформы выставляем соответственно
Atmega(mega 2560)...
А вот будет ли работать программка в конечном устройстве - это уже на везенье вопрос.
Ну и нумерация выводов ардуино не всегда соответствует таковой для портов АВРок.
Сравните:
раскладка нанки
Вложение:
A000005-full-pinout_nano328p.pdf [230.07 KiB]
Скачиваний: 31

и раскладка меги (платка чуток иная, но соответствие выводов то же самое)
Вложение:
A000067-full-pinoutMea2560.pdf [445.25 KiB]
Скачиваний: 22

К примеру тот же ардуиновский D5
для нанки это будет PD5 - порт D
а для меги уже PE3 - порт E
вот это расхождение и надо учитывать при подключении выводов. Программа то работает именно с портами АВР МК, а не с нумерацией ардуино нано (или ардуино меги)!
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 08:38:43 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 102
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 407
Рейтинг сообщения: 0
Ну вот, именно об этом все вышеотписавшиеся и говорили.
PS И помимо портов не забудьте ещё и про имена ISR.

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 1 сентября 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 09:01:06 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Я ж выше уже отметил - компиляция для меги 2560 без критических ошибок. Т. Е. Если бы были ошибки в абревиатурах и/или используемых ресурсах то при компиляции под иной МК они были бы явно отмечены как ошибки.
Несколько "вармингов" при проверке одинаковы что для меги328, что для меги2560 - вряд ли особо на работу повлияют.
А вот разница в соответствие наименования Пина/вывода ардуино линии наименованию бита/лапки/вывода порта МК на разных "платформах" может быть весьма существенно в отношении внешней схемотехники. В результате присоединяем кнопки/светики совершенно к незадействованным выводам платки.
Как правило всегда помимо даташита МК необходимо смотреть и "карту раскладки выводов" конкретной платформы.
Иногда и по несколько разных вариантов в одной платформе встретить можно.
:wink:
В то же время при работе с программой "в рамках референта" подобных казусов даже при разных МК спокойно можно избежать.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 09:57:56 
Встал на лапы

Зарегистрирован: Пн мар 08, 2021 10:55:43
Сообщений: 128
Рейтинг сообщения: 0
Спасибо всем! Нарисую схему,выложу здесь вместе со скетчем. Надеюсь,разберемся.

Добавлено after 2 minutes 20 seconds:
Ну вот, именно об этом все вышеотписавшиеся и говорили.
PS И помимо портов не забудьте ещё и про имена ISR.

А что такое имена ISR? Объясните пожалуйста. :(


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 10:15:55 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 134
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1295
Рейтинг сообщения: 0
PS И помимо портов не забудьте ещё и про имена ISR.

Вот вот. Ардуино не имеет портов, как и имён ISR.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 11:56:59 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
интерапт сервис рутине (корявенько) - вектора подпрограмм обслуживания прерываний.
В "референсе" явно оговорено только для AVR МК.
(
External Interrupts
attachInterrupt()
detachInterrupt()
)
Для Си - смотрим внимательно даташиты и соответствующие библиотеки (avr/interrupt.h к примеру)...
8)
Кыстати... насчет формфактор "ардуино нано/ардуино про-мини"...
помимо китайских LGT8Fxxx (в общем то тоже разновидность АВРок)
есть еще "ардуино-нано R4"... от ренесас... по внешним выводам один в один со "стандартной" нанкой, а вот по начинке... :facepalm:
Может кому уже живьем попадалась?
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 13:44:11 
Друг Кота

Карма: -1
Рейтинг сообщений: 68
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8731
Откуда: .ru
Рейтинг сообщения: 0
Вячеслав70 писал(а):
А что такое имена ISR? Объясните пожалуйста.

а на этом форуме трудно получить чёткий ответ на конкретно поставленный вопрос.
тут все слишком "вумные" ))
:)))

ISR (Interrupt Service Routine) в Arduino — программа обработки прерываний (обработчик прерывания). Это блок кода, который выполняется при возникновении прерывания — сигнала, прерывающего нормальное течение программы.

Принцип работы
Когда поступает сигнал прерывания, микроконтроллер:
-Останавливает выполнение основной программы и сохраняет текущий контекст.
-Переходит к вектору прерывания (адресу), где находится соответствующая функция ISR.
-Выполняет функцию ISR до завершения.
-Возвращает контекст основной программы и переходит к тому месту, где он оставил основную программу.
:roll:

Особенности ISR:
-Не принимает параметры, кроме вектора прерывания.
-Не возвращает значение.
-Обычно должна быть короткой и быстрой, чтобы минимизировать прерывание основного кода программы.
:roll:

Ничего не принимает... Ничего не возвращает))
:)))
говорю же... надо выкинуть эту Ардуино и писать по нормальному. На чистом Си или Ассемблере.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 15:36:09 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 134
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1295
Рейтинг сообщения: 0
...надо выкинуть эту Ардуино и писать по нормальному. На чистом Си или Ассемблере.
:tea:

Долой ассемблер. По нормальному - это 01 и тетрадь в клеточку. Назад к истокам!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 16:58:41 
Встал на лапы

Зарегистрирован: Пн мар 08, 2021 10:55:43
Сообщений: 128
Рейтинг сообщения: 0
Короче господа,вот текст программы для Нано и схема. Это 48 клавишный музыкальный синтезатор.Здесь два генератора с меандром на выходах. Так же в каждом генераторе вход для модуляции(LFO1,LFO2) На втором генераторе регулятор Detune(расстройка) в пределах одной октавы.И сигнал Строб(Gate). Клавиатура- контактно-диодная матрица 8х8 и дешифратор К155ИД3.Все работает без нареканий,но дело в том,что здесь первый генератор сидит на 8 битном таймере,потому большая погрешность частоты нот(1,5-2%). А второй на 16 битном,здесь все нормально.Вот поэтому я решил доработать программу для Ардуино Мега 2560.К тому же в нем вроде четыре 16 битных таймера. Ну и добавить еще в каждом генераторе по выходу с пилой,и может быть с треугольником. :))


Вложения:
IMG_20250730_161049.jpg [114.68 KiB]
Скачиваний: 62
Скетч.txt [17.04 KiB]
Скачиваний: 37
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 18:47:07 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Для такого случая вам придется детально изучать даташит на атмегу2560.
8)
Или отдать предпочтение иным схемотехническим решениям по синтезу звука, а только управление отдать МК.
Вариантов там весьма много.
8)
Пы.Сы...
на колодке разьема нужно указать не столько аббревиатуру ардуино (Dn -Dm), сколько соответствующие им выводы портов АВРки (меги328Р) - тогда соответствующий перенос на ардуино мегу2560 легче сделать будет.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 19:29:01 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 621
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3761
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
есть еще "ардуино-нано R4"... от ренесас... Может кому уже живьем попадалась?

Интересная платка. Основной её недостаток (для меня) - поддержка только через Arduino IDE. У Renesas есть целая линейка своих плат разработки с возможностью отладки через SWD интерфейс и поддержкой через их очень удобную и бесплатную среду e2 Studio. Есть ещё (правда, недешёвая) плата RA4M1 CLICKER от Mikroe с разъёмом форм-фактора mikroBUS с подобным функционалом также поддерживаемая e2. А для любителей Arduino на основе этого МК есть плата Waveshare R7FA4 Plus A почти за ту же цену и совсем дешёвая Seeed Studio XIAO RA4M1.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 19:41:31 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Тогда пока можно спокойно с науками на АВРаах работать.
Шанс нарваться на другой МК пока что достаточно низкий.
:roll:
С другой стороны... Много чего интересного появляется кто помоложе вполне может и освоит.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 20:06:56 
Мудрый кот

Карма: 25
Рейтинг сообщений: 467
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1715
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Как и всех предполагали, не вижу Arduino в этом коде.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 20:17:46 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это вариант использования готовой платки с 328й мегой плюс компилятора Си без маке файла (что вполне выполнимо в ардуино IDE при хорошем знании документации МК, GCC и "внутреннего устройства" самой IDE).
Однако и вопросы помощи в модернизации исходники придется знатокам Си для АВРок адресовать (а они ардуино на нюх не переносят :wink: )
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 20:21:01 
Мудрый кот

Карма: 25
Рейтинг сообщений: 467
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1715
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Если это так, то лучше ... написать новую программу :). Например, с 32-битным таймером. Но ... с другим микроконтроллером.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Ср июл 30, 2025 20:34:52 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вот автор вопроса для того и хочет мегу2560 использовать.
С учётом чуток большего количества аппаратных модулей в её составе.
Мало того это ж вариант музыкального инструмента - тут надо и в музыкальной грамоте/терминологии разбираться...
А я в музыкальной грамоте ни в зуб (но слушать люблю).
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Чт июл 31, 2025 09:29:08 
Встал на лапы

Зарегистрирован: Пн мар 08, 2021 10:55:43
Сообщений: 128
Рейтинг сообщения: 0
Если это так, то лучше ... написать новую программу :). Например, с 32-битным таймером. Но ... с другим микроконтроллером.

Кому писать то,мне,я в ардуино ноль.Пришел сюда,чтоб помогли.Ну для начала хотя бы изменить раскладку пинов Нано, в программе под 2560. Дальше видно будет. :shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Чт июл 31, 2025 10:10:51 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 134
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1295
Рейтинг сообщения: 0
Все работает без нареканий,но дело в том,что здесь первый генератор сидит на 8 битном таймере,потому большая погрешность частоты нот(1,5-2%). А второй на 16 битном,здесь все нормально

Можно использовать таймер2 совместно с таймер 0 - получится 16-ти битный таймер, аналогичный таймеру 1.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Чт июл 31, 2025 12:41:02 
Встал на лапы

Зарегистрирован: Пн мар 08, 2021 10:55:43
Сообщений: 128
Рейтинг сообщения: 0
Почему то тогда разработчик так не делал,наверно таймер 2 был занят? В скетче это видно,нет?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Почему скетч и схема для Ардуино Нано не работает на Мег
СообщениеДобавлено: Чт июл 31, 2025 13:56:55 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15235
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Похоже придется таки или заново программу делать или разраба беспокоить.
1. у ардуино-мега2560 не выведены на контактную гребенку выводы PD4 -PD6 (у микросхемы они имеются, но изготовители ардуино мега их не задействовали). в исходнике (судя по схемке) использованы PD4 b PD6...
2. у меги2560 выходы OC0B и OC1A заведены на другие порты, отличные от PD6 и PB1 для 328й.
Возможны и иные "тонкости" по использованию/управлению АЦП (помимо того, что АЦП у меги2560 висит на PF, а у меги 328 на PC).
Плюс от референса ардуино в исходнике вообще ничего - обычный Си, только в ардуино IDE скомпилирован да еще и без единого комментария.
Тут таки или полная переделка по даташиту и полному описанию функционала исходника (стандартно для обычной разработки на СИ согласно построения исходника) внимательно вычитывая разделы по таймерам, АЦП и их управлению для каждого из МК и сверяя их функциональное и аппаратное соответствие, или автору надо было использовать правила референса ардуино - тогда перенос мог быть легко выполним.
К сожалению - такова доля гибридных проектов с жестким использованием аппаратной привязки к конкретному МК.
8)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 82 ]    , 2, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y