Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

ATTiny85 Micronucleus/DigiSpark не верная частота сериала

Пн сен 12, 2022 00:33:27

Платформа ATTinyCore. Компилирую код, выбрав Digispark (Optiboot). В Протеусе все идет нормально. Компилирую тот же код под Digispark (Micronucleus) - в Протеусе все нормально, кроме частоты (битрейта) сериала. Где собака зарыта ? С уважением.
ПС. Код термостата из МОЕЙ соседней темы.
ППС. Получил с Али две платки ДигиСпарков Микронуклеус. Блинки работают. Не охота поганить программатором. Хотел код загрузить штатно через ее бутлоадер.
Последний раз редактировалось Ariadna-on-Line Пн сен 12, 2022 01:04:13, всего редактировалось 2 раз(а).

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Пн сен 12, 2022 00:49:11

Ничего не понятно. Ни код не привели, ни темы соседней ссылки, при чём тут какие-то блинки, что такое сериалы...

вот какую соседнюю тему Вы имели ввиду:
Изображение

где тут термостат? зачем гонять желающего ответить по каким-то ещё соседям, просто сформулируйте нормально вопрос и приведите все данные.

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Пн сен 12, 2022 01:08:03

Блинки - дефолтные прошивки Ардуин и Дигиспарков в том числе. То бишь платы гарантированно исправные. Сериал - вывод в Serial. Код в моей соседней (Ariadna-on-Line) теме "Научите мастерству...". Приводить все данные - дублировать код и картинки - нет смысла.

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Пн сен 12, 2022 01:24:02

Фюзы коретно на Digispark вводили вручную в ATtiny в Протеусе?

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Вт сен 13, 2022 00:27:08

Если скомпилировать код под частоту процессора 8МГц, и в Протеусе выбрать частоту процессора 8МГц - все работает, но битрейт Сериал не совпадает с заданным 9600 бпс. Похоже он много ниже. Если в Протеусе выбрать частоту процессора 16МГц-16.5МГц и запустить код скомпилированный под 8МГц- все работает, в том числе и Serial - битрейт становится близким 9600 бпс и сериал работает. Получается, что компилятор настраивает тайминги Serial не под 8МГц процессора, как задано, а под 16МГц. Видимо дело в настройках компилятора, надо что-то изменить в конфигурационном файле.
Местные гуру от программирования наверняка знают куда надо лезть. С уважением.
ПС. Если тот же код скомпилировать для платы DigiSpark (Optiboot) - абсолютно всё работает без ошибок.
Последний раз редактировалось Ariadna-on-Line Вт сен 13, 2022 21:43:25, всего редактировалось 4 раз(а).

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Вт сен 13, 2022 05:47:31

Получается, что компилятор настраивает тайминги кода под генератор в районе 16МГц. Но внутренний ген не может давать такой частоты.

Может. Много букв, смысл уловить сложно.(

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Вт сен 13, 2022 06:33:57

См.: ATtiny85 runs at half speed due to bad clock source setting

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Ср сен 14, 2022 00:15:15

Подредактировал текст для понятности. См выше.

Добавлено after 2 hours 54 minutes 19 seconds:
Фюзы коретно на Digispark вводили вручную в ATtiny в Протеусе?

В Протеусе фузы не введешь. Там выбираешь параметры, например источник тактирования. А Протеус под этот выбор сам выставит фузы и сконфигурирует пины.

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Ср сен 14, 2022 00:33:42

В Протеусе фузы не введешь...

Назовите это как хотите ...
Вложения
Untitled-1.jpg
(141.92 KiB) Скачиваний: 45

Re: ATTiny85 Micronucleus/DigiSpark не верная частота сериал

Ср сен 14, 2022 01:15:00

Спасибо огромное. Нашел решение по информации на указанной вами ссылке.

Файл C:\Users\xxxxxxxxxx\AppData\Local\Arduino15\packages\ATTiniCore\hardware\avr\1.5.2\boards.txt

attinyx5micr.name=ATtiny85 (Micronucleus / DigiSpark)
........
attinyx5micr.menu.sketchclock.8pll.build.f_cpu=8000000L
attinyx5micr.menu.sketchclock.8pll.build.clocksource=6 // Эту строку

изменяем на -

attinyx5micr.menu.sketchclock.8pll.build.clocksource=0 // И готово !!!
Ответить