- Akku Tests und Balkonkraftwerk Speicher         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 27 von 27

Thema: I2C Fehlerteufel

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.11.2004
    Beiträge
    123
    Anzeige

    E-Bike
    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();

  2. #22
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    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

  3. #23
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.11.2004
    Beiträge
    123
    Hallo uwegw,

    hab den neuen code übernommen, immer noch gleiches problem

    Der Kompiler spuckt folgende Meldungen aus:

    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
    Kanns vielleicht an der twi.h liegen? Ich includiere sie aus dem Verzeichnis compat?

    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

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.11.2004
    Beiträge
    123
    Sorry, doppelpost...

  5. #25
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    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.

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.11.2004
    Beiträge
    123
    Ohhh, hab die Version 2.0.5

    Schande über mein Haupt, werde mal ein neueres suchen

  7. #27
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.11.2004
    Beiträge
    123
    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 \/

Seite 3 von 3 ErsteErste 123

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen