Все операции, выполняемые TWI модулем, завершаются установкой бита прерывания (TWINT бит регистра TWCR) и соответствующего статусного кода (старшие шесть разрядов регистра TWSR). Это позволяет организовать обмен данными по шине с помощью прерываний. 

Суть подхода в следующем. Мы формируем сообщение для передачи, затем инициируем ее старт и разрешаем прерывания. Дальнейшую работу выполняет автоматически вызываемый обработчик прерывания TWI модуля, а микроконтроллер может заниматься другими задачами. 

Такой подход экономит время микроконтроллера, потому что не нужно опрашивать в цикле бит прерывания, чтобы продолжить процесс обмена данными. 

В этой части мы рассмотрим работу ведущего TWI устройства на прерываниях. Код для этого материала основан на руководстве фирмы Atmel - AVR315: Using TWI module as I2C master. 

Tagged under

Давно хотел поработать с самыми крохотными микроконтроллерами AVR и наконец сподобился купить несколько ATtiny10. Что можно сказать про эту букашку? По сути, обычный AVR, только с небольшим количеством выводов, памяти и периферии. Однако, на нем вполне можно собрать какой-нибудь вольтметр или термометр, если приложить смекалку.


Tagged under

HC-SR04 - это ультразвуковой датчик, позволяющий измерять расстояние до преграды в диапазоне от 2 до 400 см. Он представляет собой плату, на которой размещены излучатель и приемник ультразвука и управляющая электронная схема. Датчик имеет небольшие габариты и простой интерфейс: два вывода питания, один вход и один выход.

Может быть использован в качестве датчика присутствия в умном доме или охранной системе, а также для всяких роботизированных поделок. Также на нем можно сделать парктроник для машины, только в уличных условиях он быстро загрязнится.

В составе TWI модуля микроконтроллеров AVR есть регистр TWSR. Старшие 6 разрядов этого регистра содержат статусный код, а младшие - управляющие разряды, которые задают коэффициент деления частоты SCL сигнала. Я сейчас говорю про atmega16, в некоторых микроконтроллерах этих разрядов нет, но не суть.

Статусный код отражает результат последней выполненной операции TWI модуля. По нему можно судить, завершилась ли она успешно или что-то пошло не так, стоит ли продолжать передачу данных или ее пора прекращать.

В предыдущей части был рассмотрен топорный вариант работы с DS1307, в котором статусные коды TWI модуля просто игнорировались. В этом материале разобран пример работы с TWI модулем без прерываний, но с использованием статусных кодов.

Фотодиод - это полупроводниковый диод, у которого ток зависит от освещенности. Обычно под этим током подразумевают обратный ток фотодиода, потому что его зависимость от освещенности выражена на порядки сильнее, чем прямого тока. В дальнейшем мы будем говорить именно про обратный ток.
 
В общем случае фотодиод представляет собой p-n переход, открытый для светового излучения. Под воздействием света в области p-n перехода генерируются носители заряда (электроны и дырки), которые проходят через него и вызывают напряжение на выводах фотодиода или протекание тока в замкнутой цепи. 

Фотодиод, в зависимости от его материала, предназначен для регистрации светового потока в инфракрасном, оптическом и ультрафиолетовом диапазоне длин волн. Фотодиоды изготавливают из кремния, германия, арсенида галлия, арсенида галлия индия и других материалов.

Фотодиоды широко используются в системах управления, метрологии, робототехнике и других областях. Также они используются в составе других компонентов, например, оптопар, оптореле.

Страница 5 из 37