Поддержка камней Atmega64, Atmega128 и других...........

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Grafsaxar »

Добрый день знатоки а так же многоуважаемый автор программы.

Много тем создавалось о нехватки ресурсов на вселюбимый камень мега328.
При нехватки приходилось брать несколько мег328 и соединять по уарту или брать всякие микрухи для увеличения ног работающие по И2С. Но пару микрух , часы и дисплей по И2С и начинала мега глючить. приходилось брать могучий:)) мега 2560.
Очень много времени уходит на эксперименты без желаемого результата.
Я думаю многим не помешало бы иметь в штатном камне хотя бы пару Уартов и побольше входов/выходов.
Я лично все проекты делаю с прошивкой по воздуху и передачей по модбасу, а это уже 2 уарта.


В итоге в нашей среде нет контролёра для среднего класса:))

Стоимость 10 шт. мега328 12,5$
Стоимость 10 шт. мега64 10$
Стоимость 10 шт. мега128 9$
Стоимость 10 шт. мега2560 50$

Представте если бы у вас была возможность купить
либо ВАЗ за 10000$ либо Мерс за 50000$ ,в середине ничего:((

Если ошибаюсь поправте.....

Куря как-то буржуйский :)) форум наткнулся на интересный проект имеющий поддержку многих камней . Загрузчики И раскладка пинов прилагаются.



https://github.com/MCUdude/MegaCore

Так вот вопрос к Разработчику и знатокам:
Можно ли осуществить в среде Flprog поддержку этих камней????

Возможно это будет проще чем пилить поддержку STM32.

Готов создать и протестировать плату с поддержкой вышеупомянутых камней.

Давайте сделаем свой контролёр и назовём по своему....

Кто за???????????????????????????????????
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Качество — это делать что-либо правильно, даже когда никто не смотрит
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

Всё создано до нас: Crumbuino
Я купил несколько Atmega128 и доволен, проекты создаю в Flprog ,но приходится в проекте ставить тип контроллера Atmega2560, а после компиляции ручками вносить изменения. Конечно, удобней было бы, если б в программе была поддержка Atmega644 и Atmega128 (а так же Atmega8, это отдельный разговор), тем более добавить их намного проще, чем всё, что делает уважаемый автор.
Grafsaxar писал(а): 12 фев 2019, 12:42Готов создать и протестировать плату с поддержкой вышеупомянутых камней.
Собственно, плата не особо нужна, достаточно голого контроллера, даже без кварца, это один из плюсов MegaCore и MiniCore. Это добавляет ещё 2 пина для Atmega8/168/328, их тоже неплохо было бы иметь возможность задействовать в проекте (для себя решил пользовательскими блоками).
Вобщем, я ЗА, если это что-то решает.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Ingwar »

seri0shka писал(а): 12 фев 2019, 19:40а после компиляции ручками вносить изменения.
Зачем лишние движения? Bobuino наше все :smile9:
viewtopic.php?t=3149&start=20
viewtopic.php?f=42&t=3815&p=58324&hilit=bobuino#p58324
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

Ingwar писал(а): 12 фев 2019, 20:19Зачем лишние движения? Bobuino наше все
Bobuino, она же Atmega644 имеет 44 вывода, в проекте нет ни одной платы под 44-пиновый контроллер, так само как и под 64-пиновый (Atmega128). Так что выводы никак не могут соответствовать. Тем более не совпадают номера выводов I2C, SPI, и прочих. Так что после компиляции из FLprog в ArduinoIDE приходится править руками, и не дай бог где-то пропустить или перепутать.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Ingwar »

seri0shka писал(а): 12 фев 2019, 21:32Так что после компиляции из FLprog в ArduinoIDE приходится править руками, и не дай бог где-то пропустить или перепутать.
В проекте выбираю мегу. Пины меги согласно рисункам https://github.com/MCUdude/MightyCore
Компилировал в IDE и как под Bobuino, как и под Standart. Удобно под разную разводку. В корпусах TQFP44 и DIP.
[spoiler]
Безымянный.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

Ingwar писал(а): 12 фев 2019, 22:39В проекте выбираю мегу
seri0shka писал(а): 12 фев 2019, 19:40...проекты создаю в Flprog ,но приходится в проекте ставить тип контроллера Atmega2560
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Ingwar »

Да, но пины то выставляешь в проекте, а не в IDE. Какая разница - смотреть разводку меги или bobuino. Там только с прерываниями повнимательней, но и они указаны на рисунках. Допускаю трудности при использовании готовых скетчей/ПБ заточенных под мегу.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

Повторю: не совпадают номера выводов I2C, SPI, и прочих аппаратных интерфейсов, прерывания в том числе. Простейший пример из последних: часы реального времени по I2C отбирают в проекте 2 пина, которые должны управлять семисегментным индикатором, реально же для Atmega128 I2C работает по другим выводам и индикатору не мешают, вот и приходится в проекте вешать индикатор на "левые" пины, а потом вручную править в ИДЕ. Для более сложного проекта будет ещё больше коллизий. Всё можно решить, но речь об удобстве пользования программой.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение dekorator »

Была тема так и заглохла, наверно не достаточно людей поддержало.
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Grafsaxar »

seri0shka писал(а): 12 фев 2019, 19:40Я купил несколько Atmega128 и доволен, проекты создаю в Flprog ,но приходится в проекте ставить тип контроллера Atmega2560, а после компиляции ручками вносить изменения.
Это называется что то вроде онанизма. А что если через год надо что то переделать?
seri0shka писал(а): 12 фев 2019, 19:40Собственно, плата не особо нужна, достаточно голого контроллера, даже без кварца, это один из плюсов MegaCore и MiniCore. Это добавляет ещё 2 пина для Atmega8/168/328
Ну да провода сразу будете к процессору припаивать.
Мега 328 работает с внутренним кварцем на 8 мгц.
Из за 2 ног с 16мгц на 8 :(((
seri0shka писал(а): 12 фев 2019, 23:31Повторю: не совпадают номера выводов I2C, SPI, и прочих аппаратных интерфейсов, прерывания в том числе. Простейший пример из последних: часы реального времени по I2C отбирают в проекте 2 пина, которые должны управлять семисегментным индикатором, реально же для Atmega128 I2C работает по другим выводам и индикатору не мешают, вот и приходится в проекте вешать индикатор на "левые" пины, а потом вручную править в ИДЕ
В этом то и проблемма. Надо именно Flprog заточить под эти камни.
Создавать программу в Flprog да потом её ещё править в IDE и думать как то она криво работает задание не очень приятное, и требует не мало времени.
это извращение я пробовал несколько лет назад, когда Flprog была в версии 1.0 .
Даже статью об этом писал.
Не говорю что работать не будет, будет но не всегда.
Зависит от использования железа в камне. В основном таймеров.
Качество — это делать что-либо правильно, даже когда никто не смотрит
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Ingwar »

seri0shka писал(а): 12 фев 2019, 23:31Повторю: не совпадают номера выводов I2C, SPI, и прочих аппаратных интерфейсов, прерывания в том числе.
seri0shka писал(а): 12 фев 2019, 23:31для Atmega128 I2C работает по другим выводам
Мы наверно говорим про разные камни... Bobuino это ATmega8535/16/32/164/324/644/1284
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Grafsaxar »

seri0shka писал(а): 12 фев 2019, 21:32в проекте нет ни одной платы под 44-пиновый контроллер, так само как и под 64-пиновый (Atmega128)
Ребята это разные камни.

Мега 1284 и мега 128 разные камни.

Мега1284 немного отличается от меги328

Мега1284:
• Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
– Two 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
– Real Time Counter with Separate Oscillator
– Six PWM Channels
– 8-channel, 10-bit ADC
Differential mode with selectable gain at 1x, 10x or 200x

Мега328
Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode
– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
– Real Time Counter with Separate Oscillator
– Six PWM Channels
– 8-channel 10-bit ADC in TQFP and QFN/MLF package
Temperature Measurement
– 6-channel 10-bit ADC in PDIP Package

А вот мега128:
Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode
– Four 16-bit Timer/Counter with Separate Prescaler, Compare- and Capture Mode
– Real Time Counter with Separate Oscillator
– Four 8-bit PWM Channels
– Six/Twelve PWM Channels with Programmable Resolution from 2 to 16 Bits
(ATmega1281/2561, ATmega640/1280/2560)
– Output Compare Modulator
– 8/16-channel, 10-bit ADC (ATmega1281/2561, ATmega640/1280/2560)
– Two/Four Programmable Serial USART (ATmega1281/2561, ATmega640/1280/2560)
– Master/Slave SPI Serial Interface
Качество — это делать что-либо правильно, даже когда никто не смотрит
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

Ingwar писал(а): 13 фев 2019, 11:56Мы наверно говорим про разные камни... Bobuino это ATmega8535/16/32/164/324/644/1284
Мы говорим о "поддержке камней Atmega64, Atmega128 и других..."
Но если Вам так понятнее, пусть будет Bobuino: пины I²C - 22,23, а для доступной в ФЛпрог ATmega2560 пины I²C - 20,21. Уже нестыковка. И так далее.
Grafsaxar писал(а): 13 фев 2019, 10:59Из за 2 ног с 16мгц на 8
Это одна из наименьших проблем. Если мне не нужно сверхбыстродействие, я вообще ставлю 1мгц.
Grafsaxar писал(а): 13 фев 2019, 10:59А что если через год надо что то переделать?
Если проект не сохранил, то через год будет проблематично переделать даже поддерживаемые платы. Если проект есть, то в проекте можно и нужно писать комментарии о том, что надо изменить руками в скетче. В любом случае, очень рекомендую все проекты хранить ещё и в виде скетчей, и с комментариями в тексте. Через год вы можете не вспомнить, в какой версии ФЛпрог делался проект, а открыть его в другой версии зачастую невозможно. Особенно с чужими проектами.

Отправлено спустя 3 минуты 25 секунд:
Хотя повторюсь: я двумя руками за поддержку дополнительных контроллеров!
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Ingwar »

seri0shka писал(а): 13 фев 2019, 20:45Но если Вам так понятнее, пусть будет Bobuino: пины I²C - 22,23, а для доступной в ФЛпрог ATmega2560 пины I²C - 20,21. Уже нестыковка.
Если не секрет, из за каких блоков используемых в Flprog Вам приходится заморачиватся с корректировкой SDA SDL в IDE ? Сам использовал блоки Oled дисплеев на SSD и SH а так же MCP23017. Использовал IN0,1,2. Ничего не правил в IDE. При разводке платы смотришь на какой ноге нужный тебе функционал и все.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

Правил не из-за блоков, а из-за несоответствия контроллера в проекте (2560) и в реальности (128). Я в проекте не мог использовать по своему назначению выводы, которые "якобы" были заняты часами реального времени.

Отправлено спустя 5 минут 35 секунд:
Вот кусочек проекта.
[spoiler]
2222.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 487
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение kulibinsvv »

Ingwar писал(а): 13 фев 2019, 21:34из за каких блоков используемых в Flprog Вам приходится заморачиватся
"Заморачиваться" приходится, в первую очередь, с аналоговыми выходами (ШИМ). У каждого типа микроконтроллеров они находятся на разных портах (у Ардуино - логических выводах).
Надо отметить, что проблему представляет не физическая привязка функций микроконтроллера к его ногам, сколько логическое разбиение на порты. Поскольку в С/С++ приходится оперировать символическими именами портов, а не номерами выводов микросхемы.
Тот же TWI (I2C): у одних микроконтроллеров семейства AVR привязан к порту D, у других - к С, у третьих - к В. Дак ещё и у одного порта могут быть использованы разные разряды. Про другие семейства микроконтроллеров (не AVR) и говорить не чего.
Из-за этого и не удаётся создать единую систему логической нумерации выводов для всех микроконтроллеров.

Отправлено спустя 14 минут 38 секунд:
Для проекта Bobuino в FLProg однозначно надо выбирать Mega2560. Ни каких замарок с использованием штатных блоков не возникает. Единственный неприятный момент это выводы ШИМ, которые надо отслеживать самостоятельно и править ручками в Arduino IDE.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение Grafsaxar »

seri0shka писал(а): 13 фев 2019, 20:45Grafsaxar писал(а): ↑Вчера{, 07:59}
Из за 2 ног с 16мгц на 8
Это одна из наименьших проблем. Если мне не нужно сверхбыстродействие, я вообще ставлю 1мгц.
Возможно для управления простой логики.......Вполне.
А вот для вещей посерьёзнее туговато.

Осебенно с выводом информации да дисплей и отслеживании короткого импульса.

Нашёл и заказал интересную платку.......
https://ru.aliexpress.com/item/ATMEL-AT ... 33edELfnen

Вот жду с нетерпением.....

Так же ожидаю заглянет ли к нам в тему многоуважаемый автор Сергей......
У него ведь скоро вахта, а это обновление программы.....

Вот возмёт и заточит Flprog уже на 2 неделе вахты под ATmega128.

Отправлено спустя 1 минуту 48 секунд:
dekorator писал(а): 13 фев 2019, 00:28Была тема так и заглохла, наверно не достаточно людей поддержало.
Проспал видать я её:)))
Качество — это делать что-либо правильно, даже когда никто не смотрит
gafner2289
Рядовой
Сообщения: 11
Зарегистрирован: 07 окт 2017, 19:22
Откуда: Славянск-на-Кубани

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение gafner2289 »

Попробуйте подкорректировал библиотеку выводов MegaCore. Пока не проверял.
arduino-mega.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение seri0shka »

gafner2289 писал(а): 23 фев 2019, 23:42подкорректировал библиотеку выводов MegaCore
С какой целью? Вроде в старой нормально было?
gafner2289
Рядовой
Сообщения: 11
Зарегистрирован: 07 окт 2017, 19:22
Откуда: Славянск-на-Кубани

Поддержка камней Atmega64, Atmega128 и других...........

Сообщение gafner2289 »

чтобы пины попадали с Flprog atmega2560
[spoiler]
ПИН MEGA.jpg
[/spoiler]

Отправлено спустя 2 часа 56 минут 45 секунд:
Не могу понять с Atmega128 не компилируется, а Atmega1281 все окей.
[spoiler]unsigned long _SCT2 = 0UL;
unsigned long _SCT2IC = 0UL;
int _sCHCV = 0;
void setup()
{
pinMode(2, INPUT);
TCCR2A = (1<<WGM21);
TCCR2B = (1<<CS21);
OCR2A = 199;
TIMSK2 = (1<<OCIE2A);
sei ();
attachInterrupt(0, _SCT2coutFunction, FALLING);
}
void loop()
{

//Плата:1
analogWrite(12, _SCT2);

}
void _SCT2coutFunction()
{ _SCT2IC++;
}
ISR (TIMER2_COMPA_vect)
{if(_sCHCV==10000) {_sCHCV = 0;_SCT2 = _SCT2IC;
_SCT2IC = 0;
} else {_sCHCV++;}}[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

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