СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №1/2015
ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 43 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2015 I2C_InitTypeDef:typedef struct{ uint32_t I2C_ClockSpeed; uint16_t I2C_Mode; uint16_t I2C_DutyCycle; uint16_t I2C_OwnAddress1; uint16_t I2C_Ack; uint16_t I2C_ AcknowledgedAddress; }I2C_InitTypeDef; В этой структуре её элементы имеют следующее назначение: ● uint32_t I 2 C_ClockSpeed – частота тактового сигнала, максимум – 400 КГц; ● uint16_t I 2 C_Mode – режим работы; ● uint16_t I 2 C_DutyCycle – настройки для работы в быстром режиме; ● uint16_t I 2 C_OwnAddress – собствен- ный адрес устройства; ● uint16_t I 2 C_Ack – включено или нет использование бита подтверждения ACK; ● uint16_t I 2 C_AcknowledgedAddress – выбор формата адреса: 7 бит или 10 бит. Рассмотрим процедуры инициализа- ции и работы с интерфейсом I 2 C. Для настройки интерфейса I 2 C в качестве ведущего устройства и пе- редачи данных через него необ- ходимо выполнить следующие дей- ствия: 1) разрешить тактирование портов; 2) инициализировать I 2 C, задав его ско- рость, адрес и формат адреса; 3) назначить выводы микроконт- роллера; 4) разрешить работу интерфейса; 5) сформировать стартовое условие; 6) послать адрес адресуемого устрой- ства и данные; 7) сформировать стоповое условие. Для облегчения процесса про- граммирования желательно создать набор основных функций для рабо- ты с I 2 C. В листинге 1 приведена функция инициализации интерфейса I 2 C в соот- ветствии с описанным выше алго- ритмом. Теперь рассмотрим функцию для общения по I 2 C. Для расширения воз- можностей эта функция имеет три параметра: номер используемого бло- ка I 2 C, направление передачи данных и адрес подчинённого устройства. Код данной функции приведён в лис- тинге 2. Приведённая функция исполь- зует простые функции передачи и приёма данных, приведённые в листинге 3. Закончив обмен данными по I 2 C, необходимо вызвать функцию фор- мирования стоп-условия I 2 C_Generate STOP(I2Cx, ENABLE). На основе приведённых функций можно создавать программы для работы с множеством разнообразных периферийных устройств. З АКЛЮЧЕНИЕ Неоспоримым преимуществом ин- терфейса I 2 C является простота под- ключения устройств с помощью всего лишь двух линий связи и общего про- вода, благодаря чему данный интер- фейс надёжно закрепился в технике и по-прежнему широко применяется в современной аппаратуре. Л ИТЕРАТУРА 1. www.st.com . 2. www.st.com/web/en/resource/technical/docu- ment/reference_manual/CD00246267.pdf.
RkJQdWJsaXNoZXIy MTQ4NjUy