Регистр SPSR отображает текущее состояние блока SPI. Этот регистр доступен только для чтения.
Битовая структура регистра SPSR приведена в Табл. 13.5.
Таблица 13.5. Биты регистра состояния SPI (S0SPSR — 0хЕ0020004, S1SPSR-0XE0030004)
Биты регистра SPSR |
Название |
Описание |
Значение после сброса |
2:0 |
Зарезервированы |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
3 |
ABRT |
Бит аварийного прекращения работы ведомого. Установка этого бита является сигналом того, что произошло аварийное прекращение работы ведомого. Этот бит сбрасывается путем чтения регистра SPSR |
0 |
4 |
MODF |
Бит ошибки режима. Установка этого бита является сигналом того, что произошла ошибка режима. Этот бит сбрасывается путем чтения регистра SPSR и последующей записи в регистр управления SPI |
0 |
5 |
ROVR |
Бит переполнения при чтении. Установка этого бита является сигналом того, что произошло переполнение при чтении. Этот бит сбрасывается путем чтения регистра SPSR |
0 |
6 |
WCOL |
Бит конфликта записи. Установка этого бита является сигналом того, что произошел конфликт записи. Этот бит сбрасывается путем чтения регистра SPSR и последующего обращения к регистру данных SPI |
0 |
7 |
SPIF |
Флаг окончания передачи через SPI. Установка этого флага сигнализирует о том, что процесс передачи данных через SPI закончен. Когда устройство является ведущим, флаг устанавливается в конце последнего цикла передачи. Когда устройство является ведомым, флаг устанавливается по тому тактовому перепаду (фронту или спаду, в зависимости от настроек модуля SPI) сигнала SCK, которым осуществляется выборка последнего бита данных. Этот флаг сбрасывается при первом же чтении регистра SPSR и последующем обращении к регистру данных SPI. Примечание. Этот флаг не является флагом прерывания от SPI. Последний находится в регистре SPINT. |
0 |
Регистр данных SPI (SOSPDR - 0хЕ0020008, S1SPDR - ОхЕООЗОООв)
Этот двунаправленный регистр обеспечивает передачу и прием данных SPI. Данные, подлежащие передаче через SPI, записываются в регистр. Данные, принятые через SPI, могут быть прочитаны из регистра. Когда устройство является ведущим, запись в этот регистр инициирует передачу данных через SPI. Запись в этот регистр не приведет к инициации передачи в том случае, если бит SPIF в регистре состояния был установлен и регистр состояния не был прочитан.
Битовая структура регистра SPDR приведена в Табл. 13.6.
Таблица 13.6. Биты регистра данных SPI (SOSPDR - 0х£0020008, S1SPDR - 0хЕ0030008)
Биты регистра SPDR |
Функция бита |
Описание |
Значение после сброса |
7:0 |
Данные |
Двунаправленный порт данных SPI |
0 |
Регистр счетчика синхроимпульсов SPI (S0SPCCR - ОхЕ002000С, S1SPCCR - ОхЕООЗОООО)
Этот регистр управляет значением частоты SCK ведущего устройства. Регистр содержит количество циклов pclk, которое составляет один цикл синхросигнала SPI. Значение этого регистра всегда должно быть четным числом, т. е. бит 0 регистра всегда должен быть сброшен. Значение регистра также всегда должно быть больше или равно 8. Несоблюдение этих условий может привести к непредсказуемому поведению блока SPI.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |