Цитата(Cpraum @ Nov 6 2009, 18:29)

Хочу соеденить ATMega8 и MCP4821, хотя можно и любой другой DAC. Для начало хочу задать вопрос: Как их соеденять (См. картинку)...
MCP4821 - МК
SCK(3) - SCK(19)
CS(2) - какая нибудь нога любого порта (как удобнее)
SDI(4) - MOSI(18)
LDAC(5) - какая нибудь нога любого порта (как удобнее)
Цитата(Cpraum @ Nov 6 2009, 18:29)

Вопрос второй: можно ли проверять SPI не подключая DAC, т.е. подключить только осцилограф...
Можно
Цитата(Cpraum @ Nov 6 2009, 18:29)

А вот и код по инициализации и передачи по SPI, правельный ли он(Например я хочу передать на DAC байт 0x10101010)?
Инициализация выполнена, вроде - правильно. Скорость передачи - проверьте по DS на MCP4821.
Байт 0x10101010 Вам передать не получится - это шестнадцатиричное число, а не двоичное. Наверное, нужно записать 0xAA. На ЦАП нужно передавать данные парой байт в соответствии с DS.
Инициализация ног портов подключенных к CS и LDAC ЦАП - высокий уровень.
Передача данных на ЦАП:
1) на ногу подключенную к CS ЦАП выдаём низкий уровень;
2) передаем байт (биты 8-15)
3) перадаём байт (биты 0-7)
4) на ногу подключенную к CS ЦАП выдаём высокий уровень;
5) формируем на LDAC импульс нужной длительности.