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

 
 
 
Reply to this topicStart new topic
> не выставляется 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
SSerge
сообщение May 23 2009, 15:34
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Если SS настроен на вывод то мастеру до него дела нет. Хотите чтобы SS выставлялся и убирался - делайте это "вручную".


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение May 24 2009, 09:22
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Правильно сказал SSerge управление выводом SS лежит на вас. В режиме мастера SPI не знает к какому слэйву будет обращение поэтому вы сами вольны повесить на любую ножку МК SPI-слэйва и управляя этой ножкой обращаться к нему через аппаратный SPI.
Go to the top of the page
 
+Quote Post
Halfback
сообщение May 24 2009, 10:24
Сообщение #4


Местный
***

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



Всем спасибо!!! Я всё понял!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 00:35
Рейтинг@Mail.ru


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