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

 
 
> Помогите с SPI, не могу запустить slave
stellar
сообщение Sep 24 2006, 20:17
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 27-05-06
Пользователь №: 17 498



Товарищи, помогите, не работает spi slave, что может быть не так?
пытаюсь в протеусе соединить 2 atmega8, ведущий работает нормально, с модулем проверки spi обменивается, а ведомый с ним не общается (((

void SPI_Recieve()
{ ch = SPDR;
putchar(ch);
while (!(SPSR & temp));
k = 0; }

#include <stdio.h>

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{ TCNT0=0xB7;
if( k == 1)
SPI_Recieve(); }

#include <spi.h>

void main(void)
{
PORTB=0x00;
DDRB=0x10;
PORTC=0x02;
DDRC=0x02;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x05;
TCNT0=0xB7;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x01;
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x07;
ACSR=0x80;
SFIOR=0x00;

SPCR=0x43;
SPSR=0x00;

#asm("sei")

while (1)
{ while( !(SPSR & temp) );
k = 1; };
}

На ведушем на время посылки дёргаю ногой, которая на ведомом к /ss подключена
Подскажите в чём моё незнание?

Сообщение отредактировал stellar - Sep 24 2006, 21:00
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
stellar
сообщение Sep 24 2006, 21:14
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 27-05-06
Пользователь №: 17 498



И что за беда творится с протеусом, подскажите...
Составил модель из двух atmega8 зашиваю в них один и тот же код, ставлю работу с spi, один контроллер работает, второй нет, переделал модель, немного поработали обе и опять одна перестала ((( proteus 6.5 sp5
Go to the top of the page
 
+Quote Post
stellar
сообщение Sep 25 2006, 12:08
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 27-05-06
Пользователь №: 17 498



люди, неверю что никто не знает в чём беда, неужели этот вопрос настолько туп или сложен???
Go to the top of the page
 
+Quote Post
dosikus
сообщение Sep 25 2006, 14:10
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 5-02-05
Из: Russia Ярославль
Пользователь №: 2 447



Попробуй 6.95
remexpert.com/forum/dload.php?action=category&cat_id=52
Go to the top of the page
 
+Quote Post
Yura_K
сообщение Sep 25 2006, 14:26
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821



Попробуйте на ведомом подтянуть вывод SSpin к плюсу внутренним подтягивающим резистором.

Сообщение отредактировал Yura_K - Sep 25 2006, 14:27


--------------------
Чудес не бывает - бывает мало знаний и опыта!
Go to the top of the page
 
+Quote Post
stellar
сообщение Sep 26 2006, 00:18
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 27-05-06
Пользователь №: 17 498



Yura_K: SS подвёл, не работает, видать всё-таки ошибка в коде (
dosikus: спасибо за ссылку, сам когда искал найти не смог, кряк подошел от 6.5
только ошибка другой стала, не исправилась, видать модель у меня слишком глючная ((
Go to the top of the page
 
+Quote Post
stellar
сообщение Sep 26 2006, 08:07
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 27-05-06
Пользователь №: 17 498



а обязательно на slave подавать Cs, если используется только одно ведомое устройство, в slave выставить регистр по умолчанию?
Go to the top of the page
 
+Quote Post

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

 


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


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