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
Gast
#328167
Hi Versuchs mal bei CSD-electronics. MfG HG
Gast
#328168
Hi Entschuldigung. War der falsche Beitrag. MfG HG
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
Gast
#328170
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);
}
}
bitte helft mir! find einfach nich das richtige dnm
Gast
#328173
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.