- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 39

Thema: I2C Einstieg

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Ok. Danke funktioniert jetzt und ich habe es verstanden .
    Doch jetzt noch was : irgendeiner sagte ein paar Beiträge zuvor, dass man einen Eingang vorher auf 1 stellen muss, da es sonst nicht funktioniert. Muss man das ? bei mir hat es nämlich auch ohne funktioniert mit dem Code aus Beitrag 22.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Zitat Zitat von Der Einsteiger Beitrag anzeigen
    irgendeiner sagte ein paar Beiträge zuvor, dass man einen Eingang vorher auf 1 stellen muss, da es sonst nicht funktioniert. Muss man das ? bei mir hat es nämlich auch ohne funktioniert mit dem Code aus Beitrag 22.
    Das war ich. Im Datenblatt unter "quasi-bidirectional I/O" findet man beide sich ergänzende Aussagen: Zum einen sind alle Ports nach dem PowerUp per default High und damit Input-fähig; das trifft deinen Fall. Zum anderen sind Anwendungen denkbar, bei denen ein Port z.B. sowohl eine LED treiben als auch (zeitversetzt !) einen Schalter lesen soll. Dann gilt das Gesagte zum expliziten H-setzen.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    bei denen ein Port z.B. sowohl eine LED treiben als auch (zeitversetzt !) einen Schalter lesen soll. Dann gilt das Gesagte zum expliziten H-setzen.
    Und das wollte ich ja nicht


    So, ich habe jetzt mal mit dem 24C16 einen kleinen Datenlogger für LDR Messwerte gebaut.
    Das Aufnehmen der Messwerte klappt auch schon, doch kann ich sie weder abspielen, noch, wenn ich den Conroller wieder einschalte neu beschreiben. Also ich kann es nur einmal beschreiben. Danach wird irgendwie der Controller dumm (beim wiederanschalten gibt es keinen Summerklang mehr und ich bekomme nichts mehr auf der seriellen Schnittstelle angezeigt )

    Woran liegt es ??

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600
    $hwstack = 200
    $swstack = 200
    $framesize = 400
    
    Config Portd.7 = Output
    
    Config Pind.6 = Input
    Pind.6 = 1
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    Waitms 10
    
    'TWI konfigurieren
    Config Sda = Portc.1
    Config Scl = Portc.0
    Config Twi = 100000
    
    Dim X As Byte
    Dim A As Byte
    Dim B As Byte
    Dim Lesen As Byte
    
    Dim W As Word
    
    Sound Portd.7 , 400 , 450
    Sound Portd.7 , 400 , 250
    Sound Portd.7 , 400 , 450
    Wait 2
    
    
    If Pind.6 = 0 Then                                          'Taster für Moduswahl
    
    '---- schreibe in EEprom ----
    For A = 1 To 10
    
    W = Getadc(6)                                               'Messwert
    Print W
    X = W / 4                                                   'damit der Speicher reicht
    Print "Durch 4 geteilt: " ; X
    Print
    Print
    Waitms 200
    
    I2cstart                                                    'Start I2C
    I2cwbyte &HA0                                               'Sende Slave Adresse
    I2cwbyte A                                                  'Sende Speicheradresse
    I2cwbyte X                                                  'Sende Wert
    I2cstop                                                     'Stop I2C
    Waitms 10                                                   'warte 10ms
    
    Print "ins EEprom = " ; X ; "  "                            ' Ausgabe der geschriebenen Werte
    Waitms 500
    Next A
    
    Sound Portd.7 , 400 , 450                                   'damit ich weiß, wann er fertig ist
    Waitms 40
    Sound Portd.7 , 400 , 450
    
    
    
    Else
    
    '--- lesen vom EEprom ----
    For B = 1 To 10
    
    I2cstart                                                    'Start I2C
    I2cwbyte &HA0                                               'sende Slave Adresse
    I2cwbyte B                                                  'sende Speicheradresse
    
    I2cstart                                                    'Start I2C
    I2cwbyte &HA1                                               'sende Slave Adresse +1 für Lesen
    I2crbyte Lesen , Nack                                       'lese Adresse vom EEprom
    I2cstop                                                     'Stop I2C
    
    Print "Lese  EEprom= " ; Lesen ; "  "                       'Ausgabe der EEprom Werte
    Waitms 500
    Next B
    
    End If
    
    End

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Grüß dich 'Der Einsteiger',

    ich habe zwar keine Ahnung vom Bascom und mache auch nur mit C, aber igendwie vermisse ich hier die Initialisierung mit "I2cinit". (Ob es das ist, kann ich noch nicht einmal sagen.)
    Oder ich bin nur blind

    Gruß Sternthaler

    P.S.: Im übrigen hat mir deine Fragerunde auch gut 'die Augen geöffnet'.
    Also ein großes Dankeschön an alle Frageantworter

    P.P.S: Und da das hier gerade (schon wieder) mein 1000'er Eintrag ist, verweise ich mal auf https://www.roboternetz.de/community...l=1#post487842
    Geändert von Sternthaler (07.08.2013 um 20:11 Uhr) Grund: Schon wieder die 1000 erreicht.
    Lieber Asuro programieren als arbeiten gehen.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Hallo Sternthaler,

    "I2cinit
    Habe ich jetzt eingefügt, geht aber trotzdem nicht.

    P.S.: Im übrigen hat mir deine Fragerunde auch gut 'die Augen geöffnet'.
    ?

    Und da das hier gerade (schon wieder) mein 1000'er Eintrag ist, verweise ich mal auf
    Warum schon wieder ?? Du hast doch erst 1000.

    Also zurück zu meinem Problem: Warum geht es nicht ?? Beim ersten Mal anschalten nach dem Proggen funktioniert es, wenn ich es dann aber ausschalte und wieder an dann geht gar nichts mehr! Weder Ton noch Text !

    Kennt sich einer von den Fachleuten da aus ?? Ich würde mich über Antworten sehr freuen, da ich echt nicht weiter weiß.

    Der Einsteiger

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Zitat Zitat von Der Einsteiger Beitrag anzeigen
    Habe ich jetzt eingefügt, geht aber trotzdem nicht.
    Schade. Aber da sieht man mal, dass ich wirklich keine Ahnung vom Bascom habe

    Zitat Zitat von Der Einsteiger Beitrag anzeigen
    P.S.: Im Übrigen hat mir deine Fragerunde auch gut 'die Augen geöffnet'.
    Ich habe die Antworten zu deinen Fragen mit Spannung gelesen, da meine I2C-Kentnisse, zwar in C, auch nur recht klein sind.

    Zitat Zitat von Der Einsteiger Beitrag anzeigen
    Warum schon wieder ?? Du hast doch erst 1000.
    Genau das ist auch mein "Problem"!

    Zitat Zitat von Der Einsteiger Beitrag anzeigen
    Also zurück zu meinem Problem: Warum geht es nicht ?? Beim ersten Mal anschalten nach dem Proggen funktioniert es, wenn ich es dann aber ausschalte und wieder an dann geht gar nichts mehr! Weder Ton noch Text !
    Da bin auch ich auf eine funktionierende Antwort gespannt.

    Gruß
    Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Hast du eine LED dran, mit der du die verschiedenen Programmphasen sichtbar machen kannst? Die LED sukkzessive immer später im Programmablauf einschalten.Vielleicht bleibt der Controller in einer der Funktionen stecken.

    Wie ist der Reset realisiert? Über den Programmer, oder über das Spannung einschalten? Gibt es da unterschiedliches Verhalten? Die Initialisierung nach dem Reset kann (zumindest bei PICs) je nach Resetursache (PowerUp, BrownOut, WatchDog, Sleep) durchaus unterschiedlich sein.

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Zitat Zitat von Der Einsteiger Beitrag anzeigen
    Code:
    Config Pind.6 = Input
    Pind.6 = 1
    Michael meint, daß, um den Pullup einzuschalten, es Portd.6 = 1 heißen müsste.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Danke, aber trotzdem gibt es diese komische Störung

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo Einsteiger,

    unter http://avrhelp.mcselec.com/ (bei "Newbie problems") habe ich noch folgendes gefunden:

    Some bits on Port C are not working


    Some chips have a JTAG interface. Disable it with the proper fuse bit . Or use DISABLE JTAG in your code.


    Leider weiss ich nicht welcher AVR hinter deiner "m32def.dat"-Angabe steckt. Somit weiss ich auch nicht, ob da überhaupt ein JTAG vorhanden ist.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Problem mit I2C Sensor DRMOD-I2C-RVI
    Von muerzi im Forum Sensoren / Sensorik
    Antworten: 23
    Letzter Beitrag: 22.02.2010, 18:29
  2. I2C Overview für den Einstieg
    Von Vbxler im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 19.05.2008, 18:30
  3. Problem: Zwei MEGA8 via I2C-Bus koppeln (mit I2C-slave-Lib)
    Von Ulfens im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 11.01.2006, 15:25
  4. *I2C* maximale eingänge per i2c auf 8 digitale Pins
    Von Christian Sturm im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 22.06.2004, 19:44
  5. Grundlegendes zum Einstieg mit I2C / AVR / RN-Control etc.
    Von Trabukh im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 31
    Letzter Beitrag: 20.06.2004, 09:58

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress