ltc1665 ansteuern (DAC)

Gast #3325070
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

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