Skip to content

u-235/uart-iic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

UART IIC

Адаптер для сопряжения компьютера и шины IIC на микроконтроллере Atmega16.

Выводы PD1 и PD0 через преобразователь уровней подключаются к последовательному порту компьютера. В качестве преобразователя может быть MAX3232 или микросхемы USB-UART (да хоть блютуз).

Выводы PC0 и PC1 используются в качестве шины I2C.

Если используется синхронизация от встроенного генератора, то возможен сбой передачи данных из-за ухода частоты МК. На это может влиять температура или напряжение питания.

Работа заключается в передачи команд в МК и получении от него ответа. Общий формат команды следующий:

[a [int]] [w int {int}] [r int]

  • a [int] -- получение или установка адреса устройства.
  • w int {int} -- запись байт
  • r int -- чтение байт
  • int может быть целым числом в бинарной , восьмеричной, десятичной или шестнадцатеричной системе. Признаком бинарной системы является число, начинающееся на 0b и содержащее цифры 0 и 1.

Каждая команда -- это одно обращение к устройству. Таким образом, возможна запись и последующее чтение за одно обращение.

В случае получения корректной команды, МК высылает отчёт:

  • a -- текущий адрес.
  • w -- количество записанных байт.
  • r -- количество прочитанных байт и далее байты в шестнадцатеричной системе.

При получении некорректной команды или при сбое на шине I2C пишется диагностическое сообщение.