У меня есть вопросы, связанные с регистрами SPIxCON SPI. Использую PIC18F26K83. 1) Существует SPIxTCNTH: SPI TRANSFER COUNTER MSB REGISTER. И я могу установить на нем первые 3 бита, которые подсчитывают передаваемые биты. И в соответствии с таблицей данных это бит с возможностью записи. Согласно таблице данных он считает биты, которые будут переданы, тогда почему он доступен для записи? Нужно ли мне писать в соответствии с битами, которые я пришлю? Или это нужно для информирования пользователя.
2) Есть SPIxTWIDTH: SPI TRANSFER WIDTH REGISTER. В случае BMODE = 1 это размер (в битах) каждой передачи, подсчитанный счетчиком передач. Я буду отправлять такие значения, как 1,1 или 2,3, в DAC. В этом случае, что мне установить? Есть ли у этого регистра стандартное значение?
3) Я не мог понять, для чего нужны регистры FIFO, согласно таблице данных, мы не можем контролировать их с помощью программного обеспечения. Разве это не буфер? Поэтому, если я пишу в регистр передачи быстрее, чем скорость передачи, передаваемые данные будут помещены в FIFO. И один за другим они будут передаваться. Я прав? Мне не нужно ничего кроме записи в буфер передачи.
4) Я прочитал, но не смог понять биты полярности в SPIxCON1. Ничего страшного, если я не трогаю эти биты в регистре управления? Я не хочу облажаться.
5) Как выбрать рабов? В регистре SPIxCON2 есть SSET (бит разрешения выбора ведомого). Я могу сделать 1, но как тогда выбрать раб?
Спасибо за ответ. Я новичок. Извините за простые и, может быть, бессмысленные вопросы. Или я могу просто показать свой код конфигурации, но я считаю, что его будет сложнее анализировать.