Библиотека Serial и изменение тактовой частоты
- Войдите на сайт для отправки комментариев
Втр, 26/02/2019 - 17:44
Прошу подсказать корифеев. Использую библиотек Serial для работы на скорости 115200. Для уменьшенная энерго потребления решил уменьшить тактовую частоту (использую библиотеку power.h ). При делении частоты на передача по serial искажается и для исправления ситуации помогает Serial. Begin(115200*2). При уменьшении тактовой частоты на 4 и более этот метод не подходит. Так же пробовал изменять тактовую частоту через фьюзы (div8). Serial тоже перестает работать. (Передает набор битых символов). Подскажите как заставить работать Serial при пониженной частоте.
Хотел добавить. Кварц 16мгц
Если вы поменяли частоту через фьюзы - то в Ардуино ИДЕ нужно выбрать нужную частоту и скомпилировать код заново, иначе у вас не только Serial - перестанут работать все библиотеки, завязанные на частоты или использующие точные временные интервалы
В arduino Ide как проще всего поменять частоту? (Фьюз div8)
Есть возможность в теле кода добавить указание компилятору на какую частоту компилировать?
Лучше это сделать в файле \hardware\arduino\avr\boards.txt
Найдите там секцию про Вашу ардуину (например, uno), продублиуйте её, заменяя имя uno на, например, uno8m, и для этой новой платы укажите вместо build.f_cpu=16000000L, например build.f_cpu=8000000L
Потом в IDE выбирайте свою новую плату и компилируйте на здоровье.
Спасибо большое. Я так понимаю. Для каждой частоты надо делать свою плату.
Как я понимаю - да, и когда мне надо, я так и делаю. Но я не большой спец в настройках IDE, может кто-то посоветует что-то более разумное и универсальное.
Провел разные эксперименты. Но мне кажется что на частоте меньше 8МГц скорости на 11500 не хватает. Исправьте если не прав.
Провел разные эксперименты. Но мне кажется что на частоте меньше 8МГц скорости на 11500 не хватает. Исправьте если не прав.