Товарищи, помогите, не работает spi slave, что может быть не так? пытаюсь в протеусе соединить 2 atmega8, ведущий работает нормально, с модулем проверки spi обменивается, а ведомый с ним не общается (((
void SPI_Recieve() { c = 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, 18:19
|