Урок №13. Пишем программный код для подключения сдвигового регистра к микроконтроллеру AVR через SPI

Поделиться
HTML-код
  • Опубликовано: 27 окт 2024

Комментарии • 3

  • @hassikc2058
    @hassikc2058 9 месяцев назад

    Здравствуйте, Алеусандр. Удручающе, что вы забыли про PIC контроллеры, ведь по AVR обучающего контента достаточно, а в PIC можно было бы многому увас научится, учитывая, что они еще и стабильнее в работе(помехи, температура, кз и т.д.).

  • @максКозлов-ф3ш
    @максКозлов-ф3ш 9 месяцев назад

    Видео полезное, осталось ещё найти информацию как правильно писать в регистры и и х понимать

  • @marina16350
    @marina16350 2 месяца назад

    Прерывания здесь не используются. Окончание передачи байта устанавливается опросом бита регистра (поллингом флага). Так что прерывания можно и не разрешать, тем более что и обработчика прерывания в программе нет. Надлежащая работа программы (бегущий огонь) зависит от скорости работы SPI. У Вас частота SCK в 4 раза меньше тактовой частоты МК, т.е. Fsck=1 МГц, у меня (я пробовала в PROTEUS на ATmega328p с такт частотой 16 Мгц) что-то похожее на правду получилось лишь при Fsck=250 кГц. Разобралась, в чем проблема!!! - не надо перед входом в вечный цикл обращаться к регистру данных SPDR (строку SPDR = 0b00000000; следует закоментировать), из-за неё возникает проблема переполнения (в Proteus это хорошо видно). Это лишние данные, для которых в вечном будет производиться опрос готовности переданных данных (поллинг), из-за этого сбои в в передачах, и на параллельных выходах регистра (светодиодах) делается невесть что. На железе данное утверждение проверить не могу из-за отсутствия микросхемы регистра. Но в любом случае хуже не будет, если указанную строку убрать!