Потому что это slave, и до того как наступит прерывание от мастера в регистре SPDR уже должен лежать array_transfer[0]....,
когда slave выпал сюда по прерыванию SPI в SPDR у него уже висит принятый array_resive [0],
а теперь делаем обмен array_resive [0] на array_transfer[1] в регистре SPDR, на ...
Найден 41 результат
- Пт дек 28, 2012 09:24:16
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
- Чт дек 27, 2012 11:14:03
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
решено введением строк у принимающих устройств
// SPI interrupt service routine
interrupt [SPI_STC] void spi_isr(void)
{
array_resive[0]=SPDR;
SPDR=array_transfer[1];
#asm ("cli")
while(!(SPSR & (1<<7)))
; //Жду завершении передачи
for (a=1; a<4;)
{
while(!(SPSR & (1<<7)))
; //Жду завершении ...
// SPI interrupt service routine
interrupt [SPI_STC] void spi_isr(void)
{
array_resive[0]=SPDR;
SPDR=array_transfer[1];
#asm ("cli")
while(!(SPSR & (1<<7)))
; //Жду завершении передачи
for (a=1; a<4;)
{
while(!(SPSR & (1<<7)))
; //Жду завершении ...
- Вт дек 18, 2012 16:40:31
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Снова с вами в эфире DJ kama3er :music:
был придуман алгоритм костылей и благополучно реализован для уведомления мастера,
благодаря подсказке DI HALT собрал простой, но очень нужный jtag ice дебагер (всем советую).
http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-ice.html
Вообще ...
был придуман алгоритм костылей и благополучно реализован для уведомления мастера,
благодаря подсказке DI HALT собрал простой, но очень нужный jtag ice дебагер (всем советую).
http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-ice.html
Вообще ...
- Чт ноя 08, 2012 14:16:24
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Насчет прерывания таймера таки да, там у меня много всего, как уведомить master, что могу сейчас принять данные?
Как поставить master в ожидание на отправку данных ?
Как поставить master в ожидание на отправку данных ?
- Чт ноя 08, 2012 11:12:15
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Нашел причину по которой slave не получает байты, во время передачи по SPI от мастера,
у slave возникает прерывание по таймеру, поэтому пропадают посылки.
Вопрос как развести эти прерывания, без потерь информации по SPI и в цикле таймера?
Запрет прерываний не катит
у slave возникает прерывание по таймеру, поэтому пропадают посылки.
Вопрос как развести эти прерывания, без потерь информации по SPI и в цикле таймера?
Запрет прерываний не катит
- Вт ноя 06, 2012 10:04:51
- Форум: АвтоМотоВело
- Тема: Управление водородной установкой
- Ответы: 37
- Просмотры: 10250
Re: Управление водородной установкой
Вот такой аппарат я почти собрал буду тестировать в ближайшее время
Авто у меня пока нет, так что пока проверю на факт работоспособности, уж больно много ньюансов
http://x-faq.ru/index.php?topic=71.0
Авто у меня пока нет, так что пока проверю на факт работоспособности, уж больно много ньюансов
http://x-faq.ru/index.php?topic=71.0
- Пн ноя 05, 2012 16:47:53
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Новая песня, блин столько граблей по SPI, тут некоторые отсылают читать даташиты, так почему там не описан случай с двумя и более slave- ами, например что во время отдачи данных одним из slave, другой должен перевести ногу MISO в hi-z???
теперь по теме..
Мастер отдает все посылки норм,
слев первую ...
теперь по теме..
Мастер отдает все посылки норм,
слев первую ...
- Пн ноя 05, 2012 14:45:43
- Форум: AVR
- Тема: как делаеться древовидное меню для вывода на ЛСД ?
- Ответы: 11
- Просмотры: 6797
Re: как делаеться древовидное меню для вывода на ЛСД ?
Извините за долгое молчание...
менюшка из рабочего проекта ничего не убирал.... правда для меги 16,
но само меню принципиально портировать на мегу 8 без проблем...
Успехов я раскурил меню где-то за 3 недели
менюшка из рабочего проекта ничего не убирал.... правда для меги 16,
но само меню принципиально портировать на мегу 8 без проблем...
Успехов я раскурил меню где-то за 3 недели
- Пт ноя 02, 2012 10:58:52
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Это один из множества вариантов реализации...
Ну не профи я, мне показалось такое решение работает быстрее, все-таки прямой asm...
Господа мы уклонились от темы, да я знаю мой код далек от совершенства и знаний у меня не вагон,
за сим и спрашиваю у знающих людей ...
А теперь внимание вопросы ПОЧЕМУ ...
Ну не профи я, мне показалось такое решение работает быстрее, все-таки прямой asm...
Господа мы уклонились от темы, да я знаю мой код далек от совершенства и знаний у меня не вагон,
за сим и спрашиваю у знающих людей ...
А теперь внимание вопросы ПОЧЕМУ ...
- Пт ноя 02, 2012 09:51:32
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
to ibiza11
тут скорее наоборот из си в асм по принуждению
тут скорее наоборот из си в асм по принуждению
- Пт ноя 02, 2012 09:38:42
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
можно все.. но в данном случае оптимизация на скорость обрабатывания кода...
Вообщем суть этого кусочка:
из программы передается переменная произвольной длинны
Оцениваем по совпадению
if (cData==add_value) unsigned long int 0 to 4294967295
if (cData==volt_step) unsigned int 0 to 65535
разбиваем ...
Вообщем суть этого кусочка:
из программы передается переменная произвольной длинны
Оцениваем по совпадению
if (cData==add_value) unsigned long int 0 to 4294967295
if (cData==volt_step) unsigned int 0 to 65535
разбиваем ...
- Чт ноя 01, 2012 15:11:28
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Вот мой кусочек кода передачи приема
в PROTEUS посылки летят на ура
в железе хрень какая-то
пропадают биты ....
такое впечатление что в SPDR попадает какая-то фигня вместо нужного значения
ХЕЛП МИ ПЛИЗ!!! :cry:
volatile unsigned long int add_value@0x01D5;
volatile unsigned int res_volt@0x01D9 ...
в PROTEUS посылки летят на ура
в железе хрень какая-то
пропадают биты ....
такое впечатление что в SPDR попадает какая-то фигня вместо нужного значения
ХЕЛП МИ ПЛИЗ!!! :cry:
volatile unsigned long int add_value@0x01D5;
volatile unsigned int res_volt@0x01D9 ...
- Ср окт 31, 2012 17:41:01
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Kavka монтажки, нет все собрано на PINBOARD...
нашел что у меня выдает spi часть посылки в железе...
лезут только младшие байты...
Ищу дальше
нашел что у меня выдает spi часть посылки в железе...
лезут только младшие байты...
Ищу дальше
- Ср окт 31, 2012 17:33:56
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Вопрос с заполнением снимается... Это сцуко говенные осциллографы AKTAKOM не успевал отрисовывать... проверил на TEKTRONIX все ок - нету там заполнения.. Извиняюсь за дезинформацию ...
Антиреклама не пользуйтесь люди осцылами фирмы AKTAKOM мало того что, подобные глюки ловить приходиться, так они ...
Антиреклама не пользуйтесь люди осцылами фирмы AKTAKOM мало того что, подобные глюки ловить приходиться, так они ...
- Ср окт 31, 2012 13:56:56
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Я сказал только то, что я сказал не более не додумывайте лишнего...
- Ср окт 31, 2012 12:18:04
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Ага только несколько раз я уже курил даташит, визард не правильно выставляет биты инициализации SPI.
Плюс (скорее минус) передача DWORD не реализована в визарде. WCOl молчит шоб ему.
Плюс (скорее минус) передача DWORD не реализована в визарде. WCOl молчит шоб ему.
- Ср окт 31, 2012 11:27:42
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
По осцылу заметил что заполнение частотой происходит только новоустановленный байт, то есть если в посылке устанавливается новый байт то он заполнен частотой Fcpu а осталые идут без заполнения и SCK тоже идут без заполнения уже со второй посылки..... Куда копать?????
- Ср окт 31, 2012 11:22:40
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
Вот как раз осцыл и показывает смотри пост выше.....
Какая задержка должна быть/может быть от загрузки данных в регистр SPDR до выдачи их по SPI?
Нужна ли инициализация SPI каждый раз перед посылкой пачки байт?
Пишу в CVAVR инициализация SPI
// SPI initialization
// SPI Type: Master
// SPI Clock ...
Какая задержка должна быть/может быть от загрузки данных в регистр SPDR до выдачи их по SPI?
Нужна ли инициализация SPI каждый раз перед посылкой пачки байт?
Пишу в CVAVR инициализация SPI
// SPI initialization
// SPI Type: Master
// SPI Clock ...
- Ср окт 31, 2012 09:42:21
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
после 7805 стоит 470uF.
Главное proteus сцуко мне показывает все ок даже на удвоенной скорости передачи, а вот в железке никак не идет..
Главное proteus сцуко мне показывает все ок даже на удвоенной скорости передачи, а вот в железке никак не идет..
- Ср окт 31, 2012 09:26:21
- Форум: Периферия
- Тема: глюки по SPI
- Ответы: 35
- Просмотры: 5387
Re: глюки по SPI
новый прикол... после отладки передачи 2-х байт... загнал этот кусок передачи в бОльший проект.И вуаля, при первой посылке по сигналам SCK, MOSI идет заполнение как при ШИМ с частотой Fcpu, плюс ко всему после первой посылки теряются 5-7 посылок. И следующие уже идут без заполнения и без потерь ...