Hallo, ich möchte einen tda8444 mit dem atmega32 ansteuern/auslesen. kennt jemand links, wo das beschrieben ist? möchte das mit C machen. Danke dnm
hat mir jetz nich so viel geholfen,... danke trotzdem schon jemand erfahrung mit einem einfachen i2c program, würde gerne mal ein einfaches programbeispiel sehen. dnm
hallo, ich bins nochmal, komme jetzt erst richtig zum tda, weil jetzt die hardware erst fertig ist. der link hat mir wenig geholfen, weil ich mich mit assembler nicht auskenne. hab mal ein paar verschiedene varianten gesehen, aber ich bekomme nich mal den scl ausgang zum schwingen. ich arbeite mit einem atmega32 mit 8Mhz internen quarz. was gesendet wird, ist mir erstmal egal. würd nur den scl gern mal am oszi schwingen sehen. kann mir einer sagen was ich (alles) falsch mache.... muß ich den scl nochmal extra auf ausgang schalten? int main(void) { //Pin0/1 von PortC auf Ausgang DDRC |= (1<<0); DDRC |= (1<<1); TWBR =0x20; //=32 TWSR |= (1<<TWPS1); TWSR |= (1<<TWPS0); while(1) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); //send start condition while (!(TWCR & (1<<TWINT))); //warte bis flag gesetzt (ACC) //if ((TWSR & 0xF8) != START) //ERROR(); TWDR = 0b01001110; TWCR = (1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))); //if ((TWSR & 0xF8) != MT_SLA_ACK) //ERROR(); TWDR = 0b00001001; TWCR = (1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))); //if ((TWSR & 0xF8) != MT_DATA_ACK) //ERROR(); TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); } }
Wenn ich das richtig verstehe, brauchst Du nicht Informationen zu I2C oder gar dem TDA8444, sondern Hilfe, wie Du die IOs von dem Atmel schaltest. Die wirst Du unter dem Betreff aber nicht finden. Kannst Du die Pins ein und aus schalten, weiß ich, wie es geht. Schließe ein 7407 Logikgatter mit zwei Pullup-Widerständen an, um eine Open-Collector Verbindung zu bekommen. Dann schaltest Du die beiden betreffenden Pins am Atmel so lange ein und aus, bis der TDA eingestellt ist. Zur Kontrolle kannst Du immer zwei Eingänge vom 7407 nehmen. Ein Ausgang für den I2C-Bus, der andere für eine LED. Thomas
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.