В случае, когда бит STA устанавливается в режиме ведомого 12С, производится переход в режим ведущего, проверка шины и, если шина свободна, генерация на ней условия START. Если шина не свободна, то реализующая интерфейс 12С логическая схема ожидает условия STOP (которое освободит шину), а затем по истечении задержки, равной половине периода внутреннего тактового генератора, генерирует условие START. Если интерфейс 12С уже находится в режиме ведущего, и принял или передал данные, то установка бита STA вызовет генерацию условия «повторный START*.
Бит STA может быть установлен в любое время, включая моменты, когда интерфейс 12С находится в режиме ведомого, к которому адресуется обращение.
Бит STA может быть сброшен путем записи логической 1 в бит STAC регистра I2CONCLR. Когда бит STA сброшен, условия START или повторный START не могут быть сгенерированы.
В ситуации, когда установлены оба бита STA и STO, на шине 12С будет сгенерировано состояние STOP, если интерфейс находится в режиме ведущего, а после этого будет сгенерировано условие START. Если интерфейс 12С находится в режиме ведомого, то будет сгенерировано внутреннее условие, соответствующее условию STOP, однако условие STOP на шину 12С передано не будет.
I2EN — бит разрешения интерфейса 12С. Когда бит I2EN установлен, работа интерфейса 12С микроконтроллера разрешена. Бит I2EN может быть сброшен путем записи логической 1 в бит I2ENC регистра I2CONCLR. Когда бит I2EN сброшен, функция интерфейса 12С микроконтроллера заблокирована.
Битовая структура регистра I2CONSET приведена в Табл. 12.10.
Таблица 12.10. Биты регистра установок управления 12С (для I2C0:12CONSET
или I2C0CONSET - OxEOOl С000, для I2C1:12C1CONSET - 0хЕ005 С000)
Биты I2CONSET |
Название |
Описание |
Значение после сброса |
0 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
1 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
2 |
АА |
Флаг выдачи бита «подтверждение» |
0 |
3 |
SI |
Флаг прерывания от 12С |
0 |
4 |
STO |
Флаг STOP |
0 |
5 |
STA |
Флаг START |
0 |
6 |
I2EN |
Бит разрешения 12С |
0 |
7 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
304
Регистр управления сбросом Рс (для I2C0:12C0NCLR или I2C0CONCLR — ОхЕО01 С018, для I2C1:12C1C0NCLR - ОхЕООб С018)
Битовая структура регистра I2CONCLR приведена в Табл. 12.11.
Таблица 12.11. Биты регистра управления сбросом 12С (для I2C0:12CONCLR
или I2C0CONCLR - OxEOOl С018, для I2C1:12C1CONCLR - 0хЕ005 С018)
Биты I2CONCLR |
Название |
Описание |
Значение после сброса |
0 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
1 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
2 |
ААС |
Бит сброса флага выдачи бита «подтверждение». Запись логической 1 в этот бит сбрасывает флаг АА (очищает бит) в регистре I2CONSET. Запись логического 0 не приводит к каким-либо последствиям |
NA |
3 |
SIC |
Бит сброса флага прерывания от 12С. Запись логической 1 в этот бит сбрасывает флаг SI в регистре I2CONSET. Запись логического 0 не приводит к каким-либо последствиям |
NA |
4 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
5 |
STAC |
Бит сброса флага START. Запись логической 1 в этот бит сбрасывает флаг STA в регистре I2CONSET. Запись логического 0 не приводит к каким-либо последствиям |
NA |
6 |
I2ENC |
Бит отключения интерфейса 12С. Запись логической 1 в этот бит сбрасывает флаг I2EN в регистре I2CONSET. Запись логического 0 не приводит к каким-либо последствиям |
NA |
7 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
Регистр состояния РС (для I2C0: l2STATnnu I2C0STAT— OxEOOl 0004, для I2C1: I2C1STAT— ОхЕООб С004)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |