MiniCore и разные кварцы

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

Как известно МиниКоре Гайвера позволяет выбрать кварцы, которым будет тактироваться МК. Не совсем укладывается у меня в голове этот процесс. Как я понимаю, омжет быть не верно, Среда ИДЕ должна пересчитать тайминги исходя из заявленного кварца. Т.е БЛИНК, что с кварцем 16мгц, 20, 12 должне моргать с одинаковой задержкой. Правильно ли я это понимаю?
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

Ну, это ведь ограничено возможностями делителей и умножителей, надо по каждому МК смотреть индивидуально.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

olegue писал(а):ак известно МиниКоре Гайвера
А не логичней у всяких гайверов, касьянов и проч блохеров у них самих спрашивать про их поделки?
Опытный кот
Аватара пользователя
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Сообщение MLX90640 »

А кто такие, эти гайверы? Мы такого кушания не едали...
Там в коде есть некий дефайн или переменная, равная установленной частоте МК, и от нее через математические формулы завязаны коэффициенты в софтовых делеях или делителях таймеров.
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 1924
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Подключаете MK к выбранного кварцевого резонатора, подключаете к программатору, выбираете из меню все параметри, програмируете загрузчик. Записываете данные где-нибудь на листе бумаги -> должны установить эти параметры для каждой настройки. Все объявленные функции с отчетами о времени (delay(), millis(), micros(), tone() ...) автоматически пересчитываются к частоты выбранного нового кварцевого резонатора.
Вложения
q.jpg
(150.46 КБ) 81 скачивание
Контактная информация:
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1430
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

[uquote="olegue",url="/forum/viewtopic.php?p=4285294#p4285294"]Правильно ли я это понимаю?[/uquote]
Правильно понимаете. Частота указывается в настойках. build.f_cpu=16000000L, например. Можете выбрать нестандартный кварц и изменить/добавить в настройках. Только тогда придётся писать программатором.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

veso74, да именно эта картинка

OKF, программирую черз USBasp

Но тут косяк наверно в самом коде, скорее всего идет привязка конкретно к этой частоте.

Код: Выделить всё

#include <SPI.h>
#include <RF24Audio.h>
RF24 radio(7,8); 
RF24Audio rfAudio(radio,0); 

void setup() {      
  radio.begin();
  rfAudio.begin();
  rfAudio.receive();
}

void loop(){}
а вот собственно и сам "проблемный" , как я полагаю , код

RF24Audio.h

во вложении
Вложения
RF24Audio.h.txt
(24.54 КБ) 75 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 15679
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

"Сторонние библиотеки" рассчитываются на работу со "стандартными" платформами ардуинок.
Посему могут быть скрытые привязки к базовой частоте кварца на уровне аппаратных модулей МК
или чего еще неожиданного.
Если применяем модифицированные платформы - придется вычитывать и их особенности у их авторов...
:roll: :roll:
Поставщик валерьянки для Кота
Сообщения: 1924
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Все должно быть нормально и пересчитываться автоматически:
в nRF24/RF24Audio -> параметры через F_CPU
в MCUdude/MiniCore -> f_cpu через меню - выбранной частоты кварца

О Вашем коде (RF24Audio.h.txt): не знаю, нет возможности попробовать. Попробуйте, поделитесь результатом.
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

veso74, подскажите пож., вероятно вы можете сказать навскидку , на залазя делко в Даташиты. Атмега88, Атмега168, Атмега328 - отличаются только объемом ПЗУ?
или есть еще какие то отличия в плане производительности?
Поставщик валерьянки для Кота
Сообщения: 1924
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Так сравнивать их нельзя :), как например на рынке: какие помидоры зеленые, а какие красные ... :) (+ перевод). Вы решаете обратную задачу: есть идея, пишете/добавляете код, чтобы это работало с "меньшим" процессором. Инженерная работа - "наоборот": у Вас есть задача, выбираете комплектующие (MCU и др.) по функции и требуемым параметрам.

Конечно, MCU различаются, и чем именно, Вам подскажет обзор их документации.
на первой странице поисковика: AVR095: Migrating between ATmega48, ATmega88 and ATmega168
Последний раз редактировалось veso74 Пт сен 09, 2022 14:50:08, всего редактировалось 2 раза.
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

я прикинул, что этот скечть вполне можно запихнуть в 88 Атмегу, тем более что она у меня была
Скетч использует 5470 байт (71%) памяти устройства. Всего доступно 7680 байт.
Глобальные переменные используют 235 байт (22%) динамической памяти, оставляя 789 байт для локальных переменных. Максимум: 1024 байт.
но я при этом обнаружил что с битрейтом 24000 и скоростью RF_SPEED RF24_1MBPS звука проктически нет - одно похрипывание.
При переходе на sr 16000 и RF24_250кBPS получил нормальный звук.

А вот на китайском аналоге ардуино НАНО - Lgt8f328 - результат на sr24000 и скорости RF_SPEED RF24_1MBPS результат был хороший.

Вот у меня и закралось сомнение нет ли отличить в прозиводительности Атмега88 и Атмега328.
Друг Кота
Аватара пользователя
Сообщения: 15679
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Lgt8f328 даже от классической 328й отличается...
8)
Ответить

Вернуться в «Arduino»