Повышая свой маленький уровень,задался я таким вопросом:
У тини2313 иммется фьюз CKOUT, выставив который, на ноге, в случае 2313 - PD2, получается тактовый сигнал, который можно применить, например, для жесткой синхронизации нескольких МК между собой.
решение мне известное....
Возник вопрос: А можно ли от этого сигнала тактировать например сдвиговые регистры?
например вот так.
очевидно, что при такой схемотехнике - отпадает необходимость городить в программном коде генератор тактовых импульсов.
Для проверки этой идеи я взял ТИНИ2313, выставил ей фьюзы:
ограничив частоту по минимуму.
Загнал не хитрую программку в память:
Код: Выделить всё
#include <avr/io.h>
int main(void)
{
DDRD = 1;
PORTD = 0;
while(1)
{
PORTD = 1;
PORTD = 0;
}
}
результат - очень огорчил:
А0 и красный график - выход CKOUT
А1 и синий график - нога МК
При этом - данная картинка подтверждается осциллограммой:
получается, что мое ожидание:
было напрасным? и данную возможность можно применять только для тактирования ядер микроконтроллеров?
Может быть я не до выставил чего нибудь? какой нибудь регистр надо хитро настроить, перед запуском цикла???
подскажите пожалуйста.
В интернете я ответа на данный вопрос не нашел.
Дополнительно интересно - почему на такую простую операцию уходит 4 такта? во всех учебниках пишут - один.
Компилятор и программатор - фирменный: Атмел Студия 6 и Драгон
при этом фьюз CKDIV8 - уменьшает скорость в 8 раз - это правильно? и для чего это нужно?


