Forum: Mikrocontroller und Digitale Elektronik Digitales Poti SPI funktioniert nicht


von Daniel (Gast)


Lesenswert?

Hi,

ich würde gerne mit meinem ATmega48 ein Digi Poti(AD5231) ansprechen. Um 
zu sehen ob die Kommunikation funktioniert würde ich einfach gerne die 
Clock intervalle messen...

Folgendes Problem:
Mit diesem Sourcecode:

unsigned char clear = 0;

void Master_senden(unsigned char data)
{
  PORTB &= ~(1<<SS);                               //SS auf LOW
  SPDR = data;                                     //schreiben der Daten
  while(!(SPSR & (1<<SPIF)))                       //wait for 
transmission complete
  PORTB |= (1<<SS);                                //SS auf HIGH
}



void Master_init(void)
{
  DDRB |= (1<<MOSI) | (1<<SCK)|(1<<SS) ;             //MOSI,SCK,PB1 
output
  DDRB &= ~(1<<MISO);                                //MISO input
  PORTB |= (1<<SS) | (1<<SCK);                       //SS,SCK auf HIGH 
setzen
  SPCR |= (1<<SPR0) | (1<<MSTR) | (1<<SPE);          //enable SPI, 
Master, set clock rate fck/16
  clear = SPSR;
  clear = SPDR;                                      //clear SPIF
}


void main(void)
{
  Master_init ();
  Master_senden(1);
  while(1){}
}

bekomme ich nur eine Dauerspannung von 0,673V am SCK-Pin ausgegeben!

Ich wäre um jeden Hilfe dankbar!

Grüße Daniel

von Daniel (Gast)


Lesenswert?

Also ich hab festgestellt, dass die 0,67V die Spannung ist, die anliegt 
wenn ich den Pin nicht anspreche, also geh ich mal davon aus, dass er 
gar nicht sendet.

Wäre echt froh wenn mir jemand weiterhelfen könnte....

von Dieter Werner (Gast)


Lesenswert?

> dass die 0,67V die Spannung ist, die anliegt wenn ich den Pin
> nicht anspreche ...

Die Spannung ist für einen "low" Pegel aber extrem hoch.
Vermutlich liegt da noch ein Fehler in der Hardware vor.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.