Главная » Радиоуправление
Призовой фонд
на август 2019 г.
1. 1000 руб
Паяльник
2. Тестер компонентов MG328
Паяльник
3. 200 руб.
От пользователей

Машинка на ДУ управлении своими руками. Аппаратная реализация I2C. Приёмник на AVR

На этом уроке мы с Вами разберём вариант аппаратной реализации приёмника по последовательному интерфейсу I2C микроконтроллера AVR.

Инициализируется интерфейс приёмника аналогично передатчику. Ожидаем приём адреса приёмника…

TWCR = (1 << TWINT)|(1 << TWEN)|(1 << TWEA); //Приём адреса устройства + подтверждение!
while (!(TWCR & (1 << TWINT)));

Выводим значение регистра состояния в терминал, для контроля приёма...

USART_TransmitByte(TWSR);

Регистр состояния возвращает код #60, принят собственный АДРЕС и бит для задания типа операции, возвращено ПОДТВЕРЖДЕНИЕ. Принимаем данные…

TWCR = (1 << TWINT)|(1 << TWEN)|(1 << TWEA); //Приём байта буфера команд
while (!(TWCR & (1 << TWINT)));

Выводим значение регистра состояния и принятый байт в терминал...

USART_TransmitByte(TWSR);
USART_TransmitByte(TWDR);

Регистр состояния возвращает код #80, приняты данные, возвращено ПОДТВЕРЖДЕНИЕ. Загружаем принятые данные в буфер…

commandBuffer = TWDR;

После окончания приёма данных ожидаем команду СТОП…

TWCR = (1 << TWINT)|(1 << TWEN); //Приём команды стоп
while (!(TWCR & (1 << TWINT)));

Выводим значение регистра состояния в терминал...

USART_TransmitByte(TWSR);

Выполняем принятые команды…

//Загружаем значение мощности
OCR2 = TWDR;

//Выполняем команды направления движения и поворота
if (commandBuffer & (1 << 0)) PORTC |= (1 << PC1); else PORTC &= ~(1 << PC1);
if (commandBuffer & (1 << 1)) PORTC |= (1 << PC2); else PORTC &= ~(1 << PC2);
if (commandBuffer & (1 << 2)) PORTC |= (1 << PC3); else PORTC &= ~(1 << PC3);

Несколько слов в завершении. В следующем видео мы портируем программу приёмника и передатчика на основе аппаратного модуля I2C на МК PIC.

ПРОЕКТ С ИСХОДНЫМ КОДОМ И СИМУЛЯЦИЯ В PROTEUS во вложении.

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Квадрокоптер Syma X11
Квадрокоптер Syma X11
Макетная плата для пайки (10 шт) Набор начинающего радиолюбителя
вверх