zu1 ) Bitte
Code:
//DDRB
#define SPI_MOSI_DDR DDRB
#define SPI_CLK_DDR DDRB
#define SPI_MISO_DDR DDRB
#define SPI_SS_DDR DDRB
//PORTB
#define SPI_MOSI_PORT PORTB
#define SPI_CLK_PORT PORTB
#define SPI_MISO_PORT PORTB
#define SPI_SS_PORT PORTB
// PIN
#define SPI_MOSI_PIN0 PINB0
#define SPI_SS_PIN1 PINB1
#define SPI_CLK_PIN2 PINB2
#define SPI_MISO_PIN3 PINB3
//PB
#define SPI_MOSI_PB0 PB0
#define SPI_SS_PB1 PB1
#define SPI_CLK_PB2 PB2
#define SPI_MISO_PB3 PB3
//Slave-deklaration
void SPI_INIT(void)
{
// MOSI, CLK und SS auf Eingang setzen
SPI_MOSI_DDR = (1<<SPI_MOSI_PB0);
SPI_CLK_DDR = (1<<SPI_CLK_PB2);
SPI_SS_DDR = (1<<SPI_SS_PB1);
// MOSI, CLK und SS Internen Pull-Up aktivieren
SPI_MOSI_PORT |=(1<<SPI_MOSI_PB0);
SPI_CLK_PORT |=(1<<SPI_CLK_PB2);
SPI_SS_PORT |=(1<<SPI_SS_PB1);
// MISO auf Ausgang setzen
SPI_MISO_DDR |= (1<<SPI_MISO_PB3);
//MISO auf High setzten
SPI_MISO_PORT |= (1<<SPI_MISO_PB3);
}
zu 2) mein fehler
Code:
for(uint16_t a =15 ; a > 0; a--)
zu3) Kennst du das nicht auch im Kopf Klang es Logisch
damit meine ich er soll warten bis der Interrupt ausgelöst.
zu4) da wusste ich nicht wie ich das schreiben sollte. Ich will das er ein bit am MISO aus gibt wenn der Interrupt ausgelöst wird und ein bit weiter schiebt
zu5) er heisst nur Byte damit ich weiss es sind mehre bits
MfG Exkluski
Lesezeichen