Der Mastercode müsste so passen. Hol dir mal die aktuelle Version der twislave.c, hab ich gerade ins Wiki gepackt: https://www.roboternetz.de/wissen/in...ve_mit_avr-gcc
Mache ich vom Master aus vielleicht einen Fehler?
Wie gesaght ich möchte einen ATmega8 als Slave verwenden (RN-Mini Control), nun habe ich das Problem, dass jedes mal wenn ich vom Master aus was senden möchte scheinbar ein Reset an dem ATmega8 ausgeführt wird. Ich sende vom Master aus an den Slave (Code für Slave steht im vorherigen Beitrag) ein Byte in das register rxbuffer[0]. Jedoch schaltet sich die Diode die an Port PC1 hängt über die If-Abfrage in der for-Schleife nie ein, sondern der AVR startet anscheinden neu weil sie dann kurz aufblinkt.
Spreche den Slave folgendermassen an...
Code:adc_werte = 3; i2c_start_wait(0x60+I2C_WRITE); i2c_write(0); i2c_write(adc_werte); i2c_stop();
Der Mastercode müsste so passen. Hol dir mal die aktuelle Version der twislave.c, hab ich gerade ins Wiki gepackt: https://www.roboternetz.de/wissen/in...ve_mit_avr-gcc
Hallo uwegw,
hab den neuen code übernommen, immer noch gleiches problem
Der Kompiler spuckt folgende Meldungen aus:
Kanns vielleicht an der twi.h liegen? Ich includiere sie aus dem Verzeichnis compat?Code:Compiling: main.c avr-gcc -c -mmcu=atmega168 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 main.c -o main.o In file included from main.c:48: twislave.c:77: warning: return type defaults to `int' twislave.c:77: warning: function declaration isn't a prototype twislave.c: In function `ISR': twislave.c:77: warning: type of "TWI_vect" defaults to "int" twislave.c:150: warning: control reaches end of non-void function
Oder habe ich ein zu altes WinAVR?
Ich habe das Gefühl das der Code in Ordnung...
Eine Frage noch muss man den I2C Bus mit einem Endwiderstand eigendlich terminieren?
Ich bin langsam am verzweifeln![]()
Sorry, doppelpost...
Das riecht nach zu altem Winavr. Bei älteren Versionen (bis 3.4.4) wurden die Interrupts etwas anders geschrieben, und man brauchte noch die signal.h.
Ich verwende 3.4.5.
Ohhh, hab die Version 2.0.5
Schande über mein Haupt, werde mal ein neueres suchen![]()
Sir Uwegw, ich verneige mich vor Ihnen! Es lag tatsächlich am WinAVR nun läuft das program einwandfrei, sowohl senden als auch empfangen. Wie gesagt Code war ok
1000dank \/
Lesezeichen