dimka76 42 12 октября, 2021 Опубликовано 12 октября, 2021 · Жалоба 1 hour ago, Herz said: И это битрейт 29.6 кбод. На 28.8 (что могло быть, если частота осциллятора вдруг вдвое меньше должной) - белиберда. Выходит, частота совсем какая-то неадекватная, далеко не 8 МГц. Реально это как-то исправить? Или менять чип? Чип менять не надо. Quote By default, the Internal RC Oscillator provides an approximate 8.0MHz clock. Though voltage and temperature dependent, this clock can be very accurately calibrated by the user. See Table 29-10 on page 323 for more details. The device is shipped with the CKDIV8 Fuse programmed. See ”System Clock Prescaler” on page 36 for more details. Т.е. ваш мк работает на 1 МГц, примерно. Чтобы точнее понять какой у вас битрейт на выходе, с учетом заводской калибровки внутреннего RC генератора и с учетом настройки UART. Выводите в UART число 0xAA или 0x55. И по минимальной длительности нуля или по минимальной длительности единицы по осциллографу вычислить реальный битрейт. И не плохо было бы разобраться исходя из какой тактовой частоты ваш скетч вычисляет коэффициенты делителя для заданного вами битрейта. И для отсчета времени, в целях избежания переполнения разрядной сетки, лучше делать так long time_now = millis(); long delta_time = time_now - millisVal; if(delta_time >= 1000) { .... } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 12 октября, 2021 Опубликовано 12 октября, 2021 · Жалоба Спасибо. Вроде скетчем должно было быть предусмотрено (изменение?) фьюзов под 8 МГц именно. Почему этого не случилось - непонятно. Тут вот какое подозрение закралось. Чип был сдут с модуля Ардуино WAVGAT Nano Mini, купленного здесь. Так что, даже бутлоадер заливать не пришлось. Модуль стоит копейки, дешевле, чем нынче чипы Атмега в розницу покупать. Выгодное дело. Но, что интересно: сам чип, как упоминается, "Same as ATMEGA328P", и даже лого на нём "WAVGAT", а не Атмел. В порядке бреда предположение: что, если китайцы наладили выпуск клона ATMEGA328P, но с нерабочим (неоткалиброванным) внутренним осциллятором? Вроде же не подделка, и в юридическом смысле всё законно. А на плате модуля присутствует внешний керамический резонатор, от которого чип и тактируется. Возможно, так дешевле в технологическом смысле. 2 часа назад, dimka76 сказал: Т.е. ваш мк работает на 1 МГц, примерно. Ну, не похоже. Тогда бы битрейт был в 8 раз меньше... По осциллограмме видно, что это явно не так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 13 октября, 2021 Опубликовано 13 октября, 2021 · Жалоба 8 hours ago, Herz said: Чип был сдут с модуля Ардуино WAVGAT Nano Mini Но, что интересно: сам чип, как упоминается, "Same as ATMEGA328P", и даже лого на нём "WAVGAT", а не Атмел. http://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 13 октября, 2021 Опубликовано 13 октября, 2021 · Жалоба О, вот оно что... Спасибо. Тогда моё подозрение не такое уж бредовое. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 16 октября, 2021 Опубликовано 16 октября, 2021 · Жалоба 13.10.2021 в 11:04, Herz сказал: О, вот оно что... В таком случае почему не поставить кварц, например на 11.059.200, чтобы получить точный делитель для уарта? Судя по описанию МК, он там только похож на атмегу, даже фьюзов нет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 16 октября, 2021 Опубликовано 16 октября, 2021 · Жалоба 3 часа назад, mantech сказал: В таком случае почему не поставить кварц, например на 11.059.200, чтобы получить точный делитель для уарта? Судя по описанию МК, он там только похож на атмегу, даже фьюзов нет... Потому что это готовый проект, изменить там ничего нельзя - платы разработаны и изготовлены, да и вход XTAL1 используется для RTC. Спаял второй экземпляр платы, установил на него Атмегу с другого модуля, тоже с Алиэкспресс, но с маркировкой Атмел. Надеялся, что это хотя бы клон, и проблема решиться. Но она только усугубилась: при попытке залить скетч посредством прошитого бутлоадера выводится ошибка, дескать, "программатор не отвечает". Попытка прошить бутлоадер заново отвергается с сообщением, что чип не идентифицируется правильно. То есть, выходит, китайцы вовсю шуруют свои чипы даже под видом Атмеловских... Вот засада. Забавно, что на обеих платах исправно работают часы и выдают свои 32768. Почему было не использовать их для УАРТа? Для смеха залил тот же скетч в один из китайских модулей нано (на котором, якобы, Атмел), что с резонатором на 16МГц. Работает, без проблем. УАРТ, предсказуемо, на 115200. То есть, проблема у них именно с внутренним резонатором, выходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 1 16 октября, 2021 Опубликовано 16 октября, 2021 · Жалоба 2 minutes ago, Herz said: Но она только усугубилась: при попытке залить скетч посредством прошитого бутлоадера выводится ошибка, дескать, "программатор не отвечает". Попытка прошить бутлоадер заново отвергается с сообщением, что чип не идентифицируется правильно. Это вызвано фьюзами, скорее всего. Нужно разбираться, что там навыставлял при первой прошивке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 17 октября, 2021 Опубликовано 17 октября, 2021 · Жалоба Я хочу понять, на каком этапе в МК прописываются фьюзы, например, те, что отвечают за выбор и режим осциллятора. Поскольку в самих скетчах ничего такого нет, то, полагаю, при заливке бутлоадера. Однако, процедура это "стандартная", за исключением предварительного выбора типа платы. Тогда откуда берутся сведения о фьюзах? Из того самого текстового файла boards.txt? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 1 17 октября, 2021 Опубликовано 17 октября, 2021 · Жалоба 26 minutes ago, Herz said: Из того самого текстового файла boards.txt? Да. Шьются при любой заливке через программатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 17 октября, 2021 Опубликовано 17 октября, 2021 · Жалоба 3 hours ago, Herz said: Тогда откуда берутся сведения о фьюзах? Из того самого текстового файла boards.txt? Цитата из вашего первого сообщения OWHLatmega328.bootloader.low_fuses=0xE2 OWHLatmega328.bootloader.high_fuses=0xDA OWHLatmega328.bootloader.extended_fuses=0x05 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 17 октября, 2021 Опубликовано 17 октября, 2021 (изменено) · Жалоба 4 часа назад, rkit сказал: Да. Шьются при любой заливке через программатор. В смысле, куда шьются?? В МК клоне нет фьюзов вообще, настройка частоты происходит в бутлоадере... Или сейчас об оригинальной меге разговор уже? 4 часа назад, Herz сказал: Поскольку в самих скетчах ничего такого нет, то, полагаю, при заливке бутлоадера. Если речь об оригинальной меге, то фьюзы шьются, как правило, при первой заливке файла после полного стирания, и если после прошивки флеша не устанавливается битов защиты, то фьюзы можно прошить до или после основной программы. Изменено 17 октября, 2021 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 18 октября, 2021 Опубликовано 18 октября, 2021 · Жалоба 13 часов назад, mantech сказал: Если речь об оригинальной меге, то фьюзы шьются, как правило, при первой заливке файла после полного стирания, и если после прошивки флеша не устанавливается битов защиты, то фьюзы можно прошить до или после основной программы. Речь о процедуре, принятой в концепции Ардуино. Основная программа (скетч), как мы можем видеть, никаких настороек фьюзов не содержит. Следовательно, за настройки (фьюзов или чего-то ещё?) отвечает бутлоадер? И здесь не понятны отличия "оригинальной Меги" от не-оригинальной. Выходит, в не-оригинальной ничего изменить нельзя и всё работает по дифолту? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 18 октября, 2021 Опубликовано 18 октября, 2021 · Жалоба 5 minutes ago, Herz said: Следовательно, за настройки (фьюзов или чего-то ещё?) отвечает бутлоадер? Мама дорогая - вот это каша ! А запустить avrdude и посмотреть фьюзы религия не позволяет ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 18 октября, 2021 Опубликовано 18 октября, 2021 · Жалоба 1 час назад, Herz сказал: Следовательно, за настройки (фьюзов или чего-то ещё?) отвечает бутлоадер? В версии с клоном- да. 1 час назад, Herz сказал: Выходит, в не-оригинальной ничего изменить нельзя и всё работает по дифолту? Все работает так, как заложено в ардуиновском бутлоадере для данного клона. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 18 октября, 2021 Опубликовано 18 октября, 2021 · Жалоба 3 часа назад, x893 сказал: Мама дорогая - вот это каша ! А запустить avrdude и посмотреть фьюзы религия не позволяет ? Какая, нафиг, религия?! Что такое - "запустить avrdude"? Я, например, не знаю. 2 часа назад, mantech сказал: В версии с клоном- да. Ну, вот интересно. Если режим работы, скажем, того же осциллятора, задают обычно фьюзы самого МК (и с оригиналом это очевидно), то как в случае клона (и, отсутствия фьюзов, соответственно) бутлоадер регулирует это? Как он определяет, с каким осциллятором работать МК, и, главное, как он управляет клоном в этом смысле? Нет, я понимаю, что надо взять документацию и разобраться. Это правильно. Но пока мне не до этого - надо просто заставить устройство работать, а для этого добыть оригинальную Атмегу. Дальше вопрос спортивного интереса, и если на него нет короткого ответа, то и ладно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться