Например TDA7294

Форум РадиоКот • Просмотр темы - USI + hardware SPI = true, USI + nRF24 = !true
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 07:53:15

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: USI + hardware SPI = true, USI + nRF24 = !true
СообщениеДобавлено: Пт июн 01, 2018 08:29:52 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Муррррр, мяу!

Есть такой муррр код

Код:
   //... Инициализация SPI - USI
void SPI_Init(void)
{
SPI_DDR |= (Bit(SCK) | Bit(MISO));   // Все выводы, кроме MOSI, выходы
SPI_PORT |= (Bit(MOSI) | Bit(MISO));

USICR |= (Bit(USIWM0) | Bit(USICS1) | Bit(USICLK));

}

   //... Передать байт данных
void SPI_WriteByte(uint8_t data)
{
//... Копируем байт в регистр USIDR
USIDR = data;
   
//... Установим флаг начала передачи               
USISR = Bit(USIOIF);

//... В цикле следим за флагом
while(!(USISR & Bit(USIOIF)))
{
   USICR |= ( Bit(USITC));      // Режим SPI, тактируем шину сами
}

_delay_us(100);                    // Задержка для моста SPI - UART
}

   //... Передать и получить байт данных
uint8_t SPI_ReadByte(uint8_t data)
{
//... Отправляем байт
SPI_WriteByte(data);

//... Принятый байт возвращаем
return USIDR;

}



Так вот при подключении на шину SPI 328p я слышу общение, но nRF24 не реагирует. На запись любого регистра возвращает 0, на чтение любого регистра возвращает 15. Если после записи данных в FIFO регистр послать команду очистки, то возвращает 14. Т.к. общение с nRF начинаю с дерганья csn, то цифра 15 - это, очевидно, значение статуса. Но почему nRF никак не хочет отдавать значение запрашиваемого регистра? Точно такой же код, но с аппаратным SPI на 328p заводится без проблем.
Пересмотрел кучу статей, библиотек (под абдурино и не только), код везде одинаков. Микросин, датагор, гитхаб...
Вопрос, мяу, не в том, где я косячу, а в том, работал кто с этим трансивером через интерфейс USI?

МУРРР


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: USI + hardware SPI = true, USI + nRF24 = !true
СообщениеДобавлено: Пн июн 11, 2018 16:32:50 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Усе. Проблема была не столько в usi, сколько в организации работы трансивера.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Varlakotam и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y