Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с SPI
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
stellar
Товарищи, помогите, не работает 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
И что за беда творится с протеусом, подскажите...
Составил модель из двух atmega8 зашиваю в них один и тот же код, ставлю работу с spi, один контроллер работает, второй нет, переделал модель, немного поработали обе и опять одна перестала ((( proteus 6.5 sp5
stellar
люди, неверю что никто не знает в чём беда, неужели этот вопрос настолько туп или сложен???
dosikus
Попробуй 6.95
remexpert.com/forum/dload.php?action=category&cat_id=52
Yura_K
Попробуйте на ведомом подтянуть вывод SSpin к плюсу внутренним подтягивающим резистором.
stellar
Yura_K: SS подвёл, не работает, видать всё-таки ошибка в коде (
dosikus: спасибо за ссылку, сам когда искал найти не смог, кряк подошел от 6.5
только ошибка другой стала, не исправилась, видать модель у меня слишком глючная ((
stellar
а обязательно на slave подавать Cs, если используется только одно ведомое устройство, в slave выставить регистр по умолчанию?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.