Archiv verlassen und diese Seite im Standarddesign anzeigen : C Source für TWI von Mega8
Hallo Zusammen
Ich suche ein Code-Beispiel für den Master-Transmitt- und den Slave-Receivemode vom einem Atmel AVR.
Am liebsten Interrupt basiert, oder sonst auch über pollen.
Ich möchte selber sowas programmieren doch leider funktioniert es merkwürdiger weise nicht.
Vielen Dank!
Grüsse cumi
SprinterSB
07.06.2006, 18:24
XXX falsche Baustelle XXX
batti112
07.06.2006, 18:24
Hi!
Guck mal in die Datenblätter, oder such mal im Forum...
mfg
Batti
gesucht habe ich natürlich schon. doch noch nichts befridigendes gefunden.
Das Problem ist, dass mein Code auf dem Mega32 zu funktionieren scheint, auf dem Mega8 jedoch nicht. Wenn ich jedoch das Manuel von den Beiden vergleiche finde ich keine nennenswerte unterschiede.
Konkret sieht das so aus:
int main(void){
b_setH(LED_DDR,LED_0);
b_setH(LED_DDR,LED_1);
b_setL(LED_PORT,LED_0);
b_setL(LED_PORT,LED_1);
TWBR=38; //50kHz / f_cpu=16MHz
b_setH(TWCR,TWIE);
cli();
TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN)|(1<<TWIE);
while(!(TWCR&(1<<TWINT)));
b_setH(LED_PORT,LED_0);
return 0;
}
// interrupt routines ----------------------------------------------------------
ISR(TWI_vect){
b_setH(LED_PORT,LED_1);
}
Eigentlich sollten doch beide LEDs erlöschen. Das tun sie beim Mega8 jedoch nicht, beim Mega32 schon.
Danke für eure Hilfe.
Grüsse cumi
sei() ??? Fehlt das ? Ich seh nur Cli()
bekoeppel
07.06.2006, 19:38
Guck mal da:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=16722&highlight=i2c+slave
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.