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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.