Библиотека Serial и изменение тактовой частоты

nivad
Offline
Зарегистрирован: 26.02.2019

Прошу подсказать корифеев. Использую библиотек Serial для работы на скорости 115200. Для уменьшенная энерго потребления решил уменьшить тактовую частоту (использую библиотеку power.h ). При делении частоты на передача по serial искажается и для исправления ситуации помогает Serial. Begin(115200*2). При уменьшении тактовой частоты на 4 и более этот метод не подходит. Так же пробовал изменять тактовую частоту через фьюзы (div8). Serial тоже перестает работать. (Передает набор битых символов). Подскажите как заставить работать Serial при пониженной частоте.

nivad
Offline
Зарегистрирован: 26.02.2019

Хотел добавить. Кварц 16мгц

b707
Offline
Зарегистрирован: 26.05.2017

Если вы поменяли частоту через фьюзы - то в Ардуино ИДЕ нужно выбрать нужную частоту и скомпилировать код заново, иначе у вас не только Serial -  перестанут работать все библиотеки, завязанные на частоты или использующие точные временные интервалы

nivad
Offline
Зарегистрирован: 26.02.2019

В arduino Ide как проще всего поменять частоту? (Фьюз div8)

nivad
Offline
Зарегистрирован: 26.02.2019

Есть возможность в теле кода добавить указание компилятору на какую частоту компилировать?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Лучше это сделать в файле \hardware\arduino\avr\boards.txt

Найдите там секцию про Вашу ардуину (например, uno), продублиуйте её, заменяя имя uno на, например, uno8m, и для этой новой платы укажите вместо build.f_cpu=16000000L, например build.f_cpu=8000000L

Потом в IDE выбирайте свою новую плату и компилируйте на здоровье.

nivad
Offline
Зарегистрирован: 26.02.2019

Спасибо большое. Я так понимаю. Для каждой частоты надо делать свою плату.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Как я понимаю - да, и когда мне надо, я так и делаю. Но я не большой спец в настройках IDE, может кто-то посоветует что-то более разумное и универсальное.

nivad
Offline
Зарегистрирован: 26.02.2019

Провел разные эксперименты. Но мне кажется что на частоте меньше 8МГц скорости на 11500 не хватает. Исправьте если не прав.

nivad
Offline
Зарегистрирован: 26.02.2019

Провел разные эксперименты. Но мне кажется что на частоте меньше 8МГц скорости на 11500 не хватает. Исправьте если не прав.