реклама на сайте
подробности

 
 
> не выставляется SS, в хардовом режиме SPI не выставляется /SS
Halfback
сообщение May 23 2009, 13:42
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 28-05-05
Пользователь №: 5 512



Поиск по проблемам c SS на этом форуме ничего не дал, так что заранее извиняюсь что вопрос по всей видимости заезженный.

Проблема в том, что при старте контроллера SS становиться в "0". Если начинаю по SPI гнать байты то всё становиться на круги своя - в режиме паузы "1" а при передаче "0".

Вот куски:

при инициализации порта В там где SS (PORTB.0) конфигурирую на выход:
Код
// SS -> PORTB.0 --> OUTPUT
// SCK  --> PORTB.1 --> OUTPUT
// MOSI --> PORTB.2 --> OUTPUT
// MISO --> PORTB.3 --> INPUT
//PORTB=0x05; // 0b00000101  для варианта с софтовым SPI

        PORTB=0x00; // для варианта с хардовым SPI
        DDRB=0xC7;  // 0b11000111


и потом конфигурирую SPI

Код
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 62,500 kHz
// SPI Clock Phase: Cycle Start
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
    SPCR=0x57;
    SPSR=0x00;


Почитал литературу - всё вроде делаю правильно - если ставлю в режим мастера то вывод SS перед этим д.б. сконфигурирован на вывод, иначе будут проблемы.
Если заменить код программы где SPI начинаю долбить "в ручную" (софтовый вариант) то никаких проблем нет, обмен с ведомым девайсом есть.

Сообщение отредактировал Halfback - May 23 2009, 13:56
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 05:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01334 секунд с 7
ELECTRONIX ©2004-2016