Я по прерыванию таймера Т2 формирую импульсы длительностью 8 мс…. Т.е. через каждые 8мс должно наступать прерывание. К примеру я по 10 прерыванию устанавливаю бит а по 11 сбрасываю его. Импульс же должен получиться 8 мс, а у меня всего 1 мс. В чем может быть причина?
МK тактируется от внутренней RC цепочки частотой 8 мгц. Коэффициент деления для Т2 беру 1024. Получаем 8 000 000/1024=7812,5 1/7812.5=0,000128. Далее для формирования импульса длительностью 8 мс делю 0,008/0,000128=63. Получается, что Т2 до переполнения должен просчитать 63 раза. Записываю в счетный регистр число 255-63=192 или С0. Вот собственно и все. Может я где то в расчетах ошиблась?
Второй вопрос по SPI:
Почему-то у меня на плате выводы SPI MISO, MOSI соединены через резистор 4,7 кОм. Я соединяю их напрямую перемычкой длиной примерно 8 см. У меня такое ощущение что мой SPI срабатывает от помехи. Хочу увидеть какие данные шлют друг другу мк и ничего не могу увидеть. Может причина в настройках?
Если не лень, посмотрите алгоритм, пожалуйста... Ну что я делаю не так?
Для мастер
На выводе SS высокий уровень. Инициализирую SPI:
Включаю SPI, разрешаю прерывания., режим мастер, частота CLK 125 кГц.
На вывод SS Slave подаю 0 в SPDR загружаю данные.
В прерывании считываю принятые данные от Slave вызываю функцию обработки принятых данных.
Для Slave
Инициализирую SPI: Включаю SPI, разрешаю прерывания.
В SPDR загружаю данные.
В прерывании считываю принятые данные от Master вызываю функцию обработки принятых данных.
Заранее благодарю
прошу прощения за много бкафф