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

 
 
> 16-ти, 24-х, 32=битный SPI на атмега, Возможно ли?
inventor
сообщение Jul 31 2012, 21:57
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



атмеговский SPI всего 8 бит
очень хочется передавать за раз в два-три раза больше,
пробую в обработчике прерывания (слейва) читать
дата регистр типа
...
byte[0] = SPDR;
byte[1] = SPDR;
byte[3] = SPDR;
итд.

в мастере передаю эти 24 бита за одну посылку и одним CS -
то есть перед перечаей ставлю CS, после передачи всех 24 бит убираю.
получаю в сейве правильно все, но что то меня сомнения гложат что так неправильно делать.
кто подскажет насчет этого?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ILYAUL
сообщение Aug 1 2012, 17:38
Сообщение #2


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Так всегда же можно посидеть в прерывании , если знаешь количество необходимых байт . Вошёл и сиди пока все не примешь, просто можно и так написать обработчик. Но конечно лучше позырить весь код обработчика


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Aug 1 2012, 18:22
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ILYAUL @ Aug 1 2012, 20:38) *
Так всегда же можно посидеть в прерывании , если знаешь количество необходимых байт . Вошёл и сиди пока все не примешь, просто можно и так написать обработчик.

Типа такого:
Код
unsigned char byte_conter=0;
while (byte_conter<SPI_BYTE_QTY) {
    while ((SPSR&(1<<SPIF))==0)
    ;
    spi_rx_buffer[byte_conter++]=SPDR;
}

?
Так сойдёт наверное.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- inventor   16-ти, 24-х, 32=битный SPI на атмега   Jul 31 2012, 21:57
- - _Pasha   Наоборот, всё правильно. ЦС как раз взводится ручк...   Aug 1 2012, 07:24
- - Сергей Борщ   QUOTE (inventor @ Aug 1 2012, 00:57) но ч...   Aug 1 2012, 07:57
- - Палыч   Цитата(inventor @ Aug 1 2012, 01:57) проб...   Aug 1 2012, 08:51
|- - _Артём_   Цитата(Палыч @ Aug 1 2012, 11:51) Вот-так...   Aug 1 2012, 10:37
- - ILYAUL   Цитата _Артём_Никто не сбросит. Цитатаinventor п...   Aug 1 2012, 16:55
|- - _Артём_   Цитата(ILYAUL @ Aug 1 2012, 19:55) Он то...   Aug 1 2012, 17:30
- - inventor   на avr freaks задал такой же вопрос-несколько прот...   Aug 2 2012, 13:36
|- - _Артём_   Цитата(inventor @ Aug 2 2012, 16:36) но к...   Aug 2 2012, 13:59
- - Dikoy   А зачем ждать В прерывании? Если приём быстрый, н...   Aug 2 2012, 17:17
|- - _Артём_   Цитата(Dikoy @ Aug 2 2012, 20:17) Если пр...   Aug 2 2012, 17:40
- - Dikoy   Ну, можно SS на INT завести Но вообще я говорил ...   Aug 2 2012, 18:23
- - ILYAUL   Цитатано прерывание spi произойдет сначала от пере...   Aug 3 2012, 03:50


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

 


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


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