Forum: Mikrocontroller und Digitale Elektronik ltc1665 ansteuern (DAC)


von Jens (Gast)


Lesenswert?

Hallo liebe Bastelfreunde,

ich probiere schon seit einer weile den ltc1665 anzusteuern leider 
verändert sich nichts an einen von den Ausgängen des ltc1665.

ich habe ein atmega32 und die Beschaltung ist wie folgt.

Spannung usw. alles i.O. er funktioniert halt.

Atmega32     ltc1665
PC0          SCK
PC1          Din
PC2          CS

Habe auch ein Programm geschrieben in C das ich euch nicht vorenthalten 
möchte.

Die langen Wartezeiten sind dafür das ich nachvollziehen kann was 
passiert.

#include <avr/io.h>
#include <util/delay.h>

#define SCK PC0
#define DIN PC1
#define CS PC2


void clock(void)
{
  PORTC |= (1<<SCK);
  _delay_ms(500);
  PORTC &= ~(1<<SCK);
}

void daten_senden_eins(void)
{
  PORTC |= (1<<DIN);
  _delay_ms(500);
  clock();
}

void daten_senden_null(void)
{
  PORTC &= ~(1<<DIN);
  _delay_ms(500);
  clock();
}

void beginn_daten_senden(void)
{
  PORTC &= ~(1<<SCK);
  PORTC &= ~(1<<CS);
}

void ende_daten_senden(void)
{
  PORTC |= (1<<SCK);
  PORTC |= (1<<CS);
}

uart_init();

int main(void)
{
  DDRC |= (1<<SCK) | (1<<DIN) | (1<<CS);

  while(1)
  {
       beginn_daten_senden();
       daten_senden_null();    //1
       daten_senden_eins();    //2
       daten_senden_null();    //3
       daten_senden_eins();    //4
       daten_senden_null();    //5
       daten_senden_eins();    //6
       daten_senden_null();    //7
       daten_senden_eins();    //8
       daten_senden_null();    //9
       daten_senden_eins();    //10
       daten_senden_null();    //11
       daten_senden_eins();    //12
       daten_senden_null();    //13
       daten_senden_eins();    //14
       daten_senden_null();    //15
       daten_senden_null();    //16
       ende_daten_senden();
       _delay_ms(2000);
  }
}

Mit freundlichen Grüßen
Jens

von loco (Gast)


Lesenswert?

was gesendet werden muss steht im Datenblatt. Und ohne delay bitte. 
vergleich was rauskommt mit einem oszilloskop mit dem was  rauskommen 
soll.

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.