SPI problem bei CS Leitung

Gast #954881
Lesenswert?

Hi

Wenn ich bei meinem Atmega64 für ein SPI EEPROM die CS Leitung steuern 
will, funktioniert diese nicht.

Ich habe einen Externen Pullup zwischen EEPROM und AVR, damit die 
Leitung auch während einem Reset high bleibt.

Hier mein Code:
1
/* I/0 high-low Routinen */
2
#define CS_LOW    PORTB |= (1<<PINB0)  //set CS high
3
#define CS_HIGH    PORTB &=~ (1<<PINB0)  //set CS low
4

5
void spi_init()
6
{
7

8
/*SPI Pins initialisieren
9
PB0...CS  output
10
PB1...SCK  output
11
PB2...MOSI  output
12
PB3...MISO  input  
13
*/
14

15
DDRB &= ~(1<<PINB3);    // PortB Pin 3 (SPI MISO)   -> Eingang
16
DDRB |=  (1<<PINB1);    // PortB Pin 1 (SPI SCK)   -> Ausgang
17
DDRB |=  (1<<PINB2);    // PortB Pin 2 (SPI MOSI)   -> Ausgang
18
DDRB |=  (1<<PINB0);    // PortB Pin 0 (SPI CS)   -> Ausgang
19

20
CS_HIGH;
21
CS_LOW;
22
}


Weder CS_HIGH noch CS_LOW funktinieren (Laut meinem Multimeter auf der 
CS Leitung)

Weiß jemand was da sein könnte?

mfg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren