Полная версия этой страницы:
ADUC841 и SPI
JustIce
Feb 9 2009, 10:44
Кто нибудь знает есть ли возможность в ADUC841 самостоятельно дергать ножками SDATA (27) и SCLOCK(26)?
Нужно иметь возможность побитовой передачи по SPI (внешнее устройство принимает информацию не кратную 8 битам)
Цитата(JustIce @ Feb 9 2009, 13:44)

Нужно иметь возможность побитовой передачи по SPI (внешнее устройство принимает информацию не кратную 8 битам)
Прямая дорога к программной реализации SPI. Не очень знаком с ADUC: указанные Вами ноги МК - альтернативные выводы SPI на параллельном порту? Если - так, забудьте про аппаратный SPI и делайте программный SPI, управляя выводами параллельного порта программно.
JustIce
Feb 10 2009, 06:57
Указаные ноги это именно основные ноги SPI ADuC'a. Программно реализовать не проблема, проблема в том как дергать именно этими ногами. То есть ногами портов P0-P3 мне понятно как дергать, не понятно как дергать другими ножками?
Цитата(JustIce @ Feb 10 2009, 09:57)

То есть ногами портов P0-P3 мне понятно как дергать, не понятно как дергать другими ножками?
Кто Вам мешает назначить, например, Р0.1 - PMISO; P0.2 - PMOSI: P0.3 - PCLK (обозначение Р - программный)?
JustIce
Feb 10 2009, 07:29
Потому что уже все порты заняты (шины данных, адреса, уарт, флажки для доступа к регистрам). К тому же уже есть железо и менять назначение ног уже тяжко
Тем более зачем занимать 3 ноги (которых и так катастрофически не хватает) если для этого есть штатные ноги, надо только понять как ими произвольно дергать
Вы даташит читали? Бегло так глянул... Советую почитать. Указанные Вами ноги используются также и I2C. И управляются с помощью регистра I2CCON. Как ими дёргать программно написано в разделе даташита "I2C-Compatible Interface. Software Master Mode"
Verifi
Feb 11 2009, 05:39
Цитата(JustIce @ Feb 9 2009, 13:44)

Кто нибудь знает есть ли возможность в ADUC841 самостоятельно дергать ножками SDATA (27) и SCLOCK(26)?
Нужно иметь возможность побитовой передачи по SPI (внешнее устройство принимает информацию не кратную 8 битам)
Отключаете SPI сразу после передачии байта,по умолчанию высокие уровни на портеР2 и в обслуживаний прерывания передаёте недостающие биты дёргаете себе на здоровье портом p2 сам таким образом передаю 4 байта на 12ЦАП из ADUC845,правда дёргаю ещё ножкуSS для выбора GS микросхемы
Цитата(Verifi @ Feb 11 2009, 08:39)

передаёте недостающие биты дёргаете себе на здоровье портом p2
Ээээ... Речь выше шла о ADUC841, у которого нога SPI MISO - совмещена с P3.3, а две ноги - MOSI (SDATA) и SCLOCK - выделены. Вопрос был о том, как дёргать этими выделенными (не совмещёнными с выводами паралельного порта) ногами.
JustIce
Feb 12 2009, 07:07
Попробовал переводить в I2C режим, но получается очень заваленый фронт у SCLOCK (по сравнению с практически идеальным в режиме SPI) ....
Цитата(JustIce @ Feb 12 2009, 10:07)

получается очень заваленый фронт у SCLOCK
Вы картинку подключения устройств по I2C в документе видели? Там нарисованы подтягивающие резисторы...
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.