Изменение тактовой частоты Digispark, работа на низком напряжении?

У меня есть приложение с низким напряжением (3.2v). Я надеялся использовать Digispark. У меня есть решение с использованием отдельного Tiny85, но вы хотите использовать программирование USB Digispark.

Чтобы работать при более низком напряжении, я думаю, вам нужна более низкая тактовая частота. Я сделал это, используя автономный Tiny85. Я мог бы подключить Digispark к программисту прямо и менять частотные предохранители, однако ...

Я предполагаю, что снижение тактовой частоты путем программирования предохранителей приведет к поломке загрузчика Digispark, поскольку у него будет неправильное время. Верный?

Могу ли я динамически переключать тактовую частоту в моем коде после загрузчика или только с плавким предохранителем?

Доступен ли загрузчик и я могу изменить его на более низкую частоту? Будет ли много работы по изменению кода на другую частоту? Будет ли это достаточно мощным, чтобы запустить загрузчик USB?

1

3 ответы

Вы можете установить предварительный делитель часов во время выполнения. Например:

#include 

void setup()
{
    clock_prescale_set(clock_div_8);
   //etc...
}

Более подробная информация содержится в документации из АРН-Libc .

Обратите внимание, что с помощью этого метода ваш Digispark по-прежнему будет разогнан, когда загрузка, поэтому она не может быть на 100% надежной. Но он будет разогнан только в течение очень короткого времени.

4
добавлено
@ BillyBag2: Я бы ожидал, что он сработает. См. Ответы на этот вопрос: Arduino 16 МГц с 3,3 В? .
добавлено автор Sprogz, источник
Спасибо Эдгару. Это было полезно для меня для Digispark ATTiny85 (фарфоровый клон), который говорит I2C о ESP8266 NodseMCU v3 Lolin. Я разделился на 4 и до сих пор работает. Собственное потребление тока ATTiny снизилось с 11,2 мА при 16 МГц до 5,6 мА. ATTiny работает на 3,3 В от выходного блока 3,0 В от NodeMCU до 78L05 (выход). Я отключил оба светодиода с двумя, почти невидимыми, небольшими сокращениями на печатной плате, я мог при необходимости припаять. Я использую библиотеку Rambo TiniwireS для I2C. Еще раз спасибо.
добавлено автор kirkmcpherson, источник
Я как бы надеялся, что он будет копаться через загрузчик по тактовому времени, поскольку мне не нужно его фактически подключать к USB при низком напряжении.
добавлено автор Vittorio, источник

В digispark используется загрузчик microronucleus .

Вы можете прошивать его непосредственно на Tiny85 без необходимости использования модуля digispark. Таким образом, существующее решение Tiny85 может приобрести загрузчик USB, если вы можете зарезервировать программное пространство 2k для загрузчика.

Я понимаю, что это не прямой ответ на ваш вопрос, но вы заметили, что у вас есть решение Tiny85 и вам нужна поддержка USB-загрузчика.

2
добавлено

Максимальная безопасная частота при 3,2 В составляет около 12,7 МГц. См. Рисунок 20-2 в разделе техническое описание .

Это действительно ниже, чем 16 МГц, на котором работает digispark.

0
добавлено