Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 30.05.2018, 01:54  
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
Стрелка SPI через USI + nRF24l01

Не могу понять, где косячу(

Есть такой говнокод

Код:
	//... Инициализация 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; 
}
Пытаюсь связаться с nRF24. На все команды записи в регистры возвращает 0, на любую команду чтения из регистров возвращает 15. После команды очистки буфера FIFO возвращает 14. На аппаратном SPI 328p nRF24 работает, код тот-же. Может есть у кого опыт в таких делах? Где косячу? Мост SPI-›UART на 32u4 всё общение по SPI шине видит.
Реклама:

Последний раз редактировалось parovoZZ; 30.05.2018 в 16:54.
parovoZZ вне форума  
Непрочитано 30.05.2018, 04:22  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,580
Сказал спасибо: 181
Сказали Спасибо 3,161 раз(а) в 2,047 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Осцилограф то чо показывает?
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 30.05.2018, 08:46  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Тут не важно, что вы подключаете к интерфейсу, если не можете разобраться с самим интерфейсом. Сначала запускайте SPI. Пока не понятно, в чем проблема.
Easyrider83 вне форума  
Непрочитано 30.05.2018, 11:55  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Сообщение от индюк Посмотреть сообщение
Осцилограф то чо показывает?
Удобнее логический анализатор - клон saleae от китайцев за $6/ Сильно помогает с интерфейсами. Последний раз - со связью через RS232 "иногда путает символы". А скорость неправильная и изменяется прыжками.

Последний раз редактировалось makakus; 30.05.2018 в 11:57.
makakus вне форума  
Непрочитано 30.05.2018, 14:09  
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Чорт, форум код куда запрятал??? Я один его не вижу?


Сообщение от индюк Посмотреть сообщение
Осцилограф то чо показывает?
Ничего не показывает. Нету его.


Сообщение от Easyrider83 Посмотреть сообщение
Тут не важно, что вы подключаете к интерфейсу, если не можете разобраться с самим интерфейсом. Сначала запускайте SPI
Да код стандартный - из апноута. Atmega 32u4 через аппаратный SPI нормально слышит. Правда, залегла она вчера смертью храбрых узкоглазых(((
С SPI не понял - я ж его и запускаю. На огрызке под названием USI. Тиня 24/44/84.
parovoZZ вне форума  
Непрочитано 30.05.2018, 14:38  
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Сообщение от parovoZZ Посмотреть сообщение
Не могу понять, где косячу(

Есть такой говнокод

Код:
	//... Инициализация SPI - USI
void SPI_Init(void)
{
	SPI_DDR |= ((0‹‹MOSI) | (1‹‹SCK) | (1‹‹MISO));	// Все выводы, кроме MOSI, выходы
	SPI_PORT |= ((1‹‹MOSI) | (0‹‹SCK) | (1‹‹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; 
}
Пытаюсь связаться с nRF24. На все команды записи в регистры возвращает 0, на любую команду чтения из регистров возвращает 15. На аппаратном SPI 328p nRF24 работает, код тот-же. Может есть у кого опыт в таких делах? Где косячу? Мост SPI-›UART на 32u4 всё общение по SPI шине видит.
Ну правда, куда код девается?
parovoZZ вне форума  
Непрочитано 30.05.2018, 16:28  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Сообщение от parovoZZ Посмотреть сообщение
Ну правда, куда код девается?
Движок форума съедает. Нужно же ему питаться чем-то. Вот он кодом и питается.

Пробелы, расставленные в неожиданных местах, портят аппетит этому движку. Попробуйте, может получится. Функция предварительного просмотра сообщений, увы, не в помощь.

Впрочем любой, кто нажмет в первом сообщении "процитировать", увидит полную версию того, что вы запостили. Осталось найти такого, который сделает это и при этом помнит, что там с настройками этого уродца - USI

Последний раз редактировалось AR_Favorit; 30.05.2018 в 16:31.
AR_Favorit вне форума  
Непрочитано 30.05.2018, 16:29  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Сообщение от parovoZZ Посмотреть сообщение
правда, куда код девается?
Он обиделся:

Сообщение от parovoZZ Посмотреть сообщение
Есть такой говнокод
Говнокод стандартный, мост SPI-›UART стандартный, движок форума стандартный... И ни фига не работает. Может, изменить подход?

Сообщение от AR_Favorit Посмотреть сообщение
Функция предварительного просмотра
Это вы про осциллограф?
makakus вне форума  
Непрочитано 30.05.2018, 16:59  
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Сообщение от AR_Favorit Посмотреть сообщение
Пробелы, расставленные в неожиданных местах, портят аппетит этому движку.
Не, не пробелы. ‹‹ вот эта хрень воздействует.


Сообщение от AR_Favorit Посмотреть сообщение
этого уродца - USI
Ну точно. На бумаге всё красиво, а на деле хрень.


Сообщение от makakus Посмотреть сообщение
Может, изменить подход?
Да! Надо осваивать новые горизонты =)

Сообщение от makakus Посмотреть сообщение
Удобнее логический анализатор - клон saleae от китайцев за $6/
Да кто ж спорит-то. Я даже рядом тему создал про поиски.
parovoZZ вне форума  
Непрочитано 30.05.2018, 17:14  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: SPI через USI + nRF24l01

Сообщение от parovoZZ Посмотреть сообщение
Я даже рядом тему создал про поиски.
Это про $100 за 100 МГц? Я там молчал, мож вы компьютеры отлаживаете. А мне с АВРками 24 мгц хватает вполне. Главное - дёшево!
makakus вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает SPI через DMA eddy ARM 13 20.01.2014 18:27
USI в ATTiny25 kassiopay Микроконтроллеры, АЦП, память и т.д 1 05.10.2009 12:05
Обмен по SPI - из 8 байтов берет только первый code-by Микроконтроллеры, АЦП, память и т.д 9 18.11.2008 02:41
Опрос АЦП через программный SPI AVR Iamuser Микроконтроллеры, АЦП, память и т.д 8 23.03.2007 18:33
Fuse-биты & программирование через SPI bureau Микроконтроллеры, АЦП, память и т.д 7 03.02.2007 00:22


Часовой пояс GMT +4, время: 13:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot