Цитата(ViDo @ Sep 21 2005, 10:33)
Я брал готовый из CodeVision, но по-моему в протоколе SPI сигнал SS активный низким уровнем а для записи данных в этот ЦАП на ногу LD нужно подавать высокий.
Может у кого-нибудь найдется исходник на рабочий SPI?
когда SPI в режиме мастер и SS настроен на выход, модуль SPI не использует эту ногу, ей нужно дергать самому.
запись в цап обычно по восходящему фронту
во все цапы которые попадались мне я обычно пишу так
Код
WaitSpi MACRO
LOCAL _wsploop
_wsploop: sbis SPSR, SPIF
rjmp _wsploop
ENDM
out SPCR, xxxxx //нужная конфигурация SPI
cbi LD_PORT, LD_PIN //LD вниз
out SPDR, rXXX //обычно старший байт и номер канала
WaitSpi
out SPDR, rXXX //младший байт
WaitSpi
sbi LD_PORT, LD_PIN //LD вверх