Регистр данных SPI - SPDR - (SPI Data Register)

Биты

 

$0F ($2F)
MSB             LSB

 

SPDR
Чтение/Запись
R/W R/W R/W R/W R/W R/W R/W R/W

 

 
Начальное состояние

 

 

Регистр данных SPI представляет собой регистр с возможностью чтения/записи и предназначен для пересылки данных между регистровым файлом и сдвиговым регистром SPI. Запись в регистр SPDR инициирует передачу данных, считывание регистра приводит к чтению сдвигового регистра приема.


 

 

Регистр статуса SPI - SPSR - (Status Register)

Биты

 

$0E ($2E)
SPIF WCOL - - - - - -

 

SPSR
Чтение/Запись
R R R R R R R R

 

 
Начальное состояние

 

 
  • Bit 7 - SPIF: SPI Interrupt Flag - Флаг прерывания по SPI
    По завершении обмена последовательными данными бит SPIF устанавливается в состояние 1 и, если бит SPIE в регистре SPCR установлен и разрешено глобальное прерывание, генерируется сигнал прерывания. Бит SPIF очищается аппаратно при выполнении подпрограммы обработки соответствующего вектора прерывания. Бит SPIF может быть очищен также при первом считывании состояния регистра статуса SPI, с установленным битом SPIF, с последующим обращением к регистру данных SPI (SPDR).
  • Bit 6 - WCOL: Write Collision flag - Флаг ошибки при записи
    Бит WCOL устанавливается в состояние 1 если в процессе передачи данных выполнялась запись в регистр данных (SPDR). Чтение содержимого регистра данных, как и запись в него, выполненные во время пересылки данных, могут привести к неверному результату. Бит WCOL (и бит SPIF) аппаратно очищаются (сбрасываются в состояние 0) при первом считывании регистра статуса SPI, с установленным WCOL, с последующим обращением к регистру данных SPI (SPDR).
  • Bit 5..0 - Res: Reserved bits - Зарезервированные биты
    Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при считывании всегда покажут состояние 0.