EEPROM 24FC1025

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Beim Schreiben muss das Bit 0 = 0 sein bei der Adresse.
      Folglich muss in der Sub W_EE24Cxx folgendes Stehen:


      Shift ICAdr,Left,1 ' ICAdr höherwertig verschieben
      ICAdr = ICAdr And &b1111_1110 ' Bit0 (Read=&B1/Write=&B0)

      Bits löschen mit OR geht nicht

      Alternativ auf geht auch
      Reset I2CAdr.0 ' Bit 0 löschen (schreiben)

      Beim Lesen muss das Bin 0 gesetzt sein.
      In der Function R_EE24Cxx muss es logisch dann


      ICAdr = ICAdr OR 1 ' Bit0(Read=&B1/Write=&B0)hinzu

      heißen oder Alternativ

      Set I2CAdr.0 ' Bit 0 setzen (Lesen)

      Versuchs mal!
    • Das kann ganz entfallen (Zeile 189 und 215) . Nach dem Shift ist es 0.
      Bei 1 sind sich alle einsig 1= &B1= &H1 :D
      Ich hab meißt zwei Const für einen Chip ( 24r zum lesen und 24w für die Schreibadresse). Die Rechnerei entfällt und es ist gleich ersichtlich was die Adresse macht.

      Dieter wrote:

      Kann der auch schadlos öfter mal z.B. in einem Sub aufgerufen werden?
      Ja, allerdings wird es von verschiedenen Routinen gesetzt (SPI, Uard, u. a.). Folgendes kann schief gehen:
      Fehlerzaehler = Fehlerzaehler + Err ' zählt den Fehler (wenn er auftrat)
      alle
      möglichen
      Schritte/Sub(s)
      If err =1 Print "Da war ein Fehler" 'schreibt nichts weil er zwischendurch 0 wurde / bzw Meldet einen der woanders auftrat/nicht gezählt wurde.
      Besser nach dem Ereigniss: Fehlervariable=err dann bleibt die bis zum nächsten Zuweisung.
      Ganz praktisch ist es im "I2C-Finder:

      Source Code

      1. For A = $10 To $FE Step 2
      2. I2cstart
      3. I2cwbyte A
      4. I2cstop
      5. Print A;
      6. If Err = 1 Then
      7. Print " keine Reaktion"
      8. Else
      9. Print "ok"
      10. End If
      11. Next
      Display All

      The post was edited 3 times, last by Pluto25 ().

    • Guten Morgen Forum Freunde,
      habt herzlichen Dank für Eure freundlichen Tipps, denn ich möchte die höhere Weihe der BASCOM Programmierung erlangen.

      Mitch64 wrote:

      Set I2CAdr.0 ' Bit 0 setzen (Lesen)
      Set und Reset so anzuwenden finde ich super. Das macht eine Operation wesentlich deutlicher. Werde ich künftig verwenden.

      Pluto25 wrote:

      Das kann ganz entfallen (Zeile 189 und 215)
      stimmt, damit habe ich unnötig Zeit vergeudet- werde ich entfernen.

      Pluto25 wrote:

      Ich hab meist zwei Const für einen Chip
      Da ich diese Sub/Function für mehrere EEPROMS einsetzen möchte und noch andere TWI IC's hinzu kommen, sehe ich etwas mehr Transparenz und dafür nehme ich die Zeitvergeudung durch den Befehl "Set I2CAdr.0" für hinnehmbar.


      Pluto25 wrote:

      Ganz praktisch ist es im "I2C-Finder:
      Danke auch für die Beantwortung meiner Frage wegen ERR und den Quellcode für einen I2C-Finder, lege ich mir in mein Beispiele Fundus.
      Ich werde mal ausprobieren ob man nach einer Fehlermeldung ERR gleich wieder löschen kann. Dann käme es, so denke ich, zu keinen Konflikten bei Mehrfachaufruf.

      Wünsche Euch einen schönen geruhsamen Sonntag. VY73Dieter
    • Dieter wrote:

      Ich werde mal ausprobieren ob man nach einer Fehlermeldung ERR gleich wieder löschen kann. Dann käme es, so denke ich, zu keinen Konflikten bei Mehrfachaufruf.
      Klar kann man, aber jede Operation die es beeinflußt setzt es neu je nach Ergebnis. Heißt wenn die Problemlos war ist es 0, auch wenn es vorher 1 war.

      Das $ ist die schreibfaule Version von &H
    • Mit jedem Update poppt beim ersten Öffnen die aktuelle History.txt auf.
      Das ist keine Cookie-Erlaubnis, sondern lesenswert ;)
      Die History findest du nachträglich noch im Installationsordner von Bascom.

      Es gibt aber auch User, die probieren alle möglichen Varianten aus und freuen sich, wenn sie was finden.
      Ist so ein bissl wie die Belegung von WP oder die Benutzung von I2cstart statt I2crepstart. Kann gehen, aber muss nicht. Also eher was für Fortgeschrittene, nicht zu empfehlen für Einsteiger, die sollten ja erstmal die Grundlagen verstehen.
    • Michael wrote:

      Mit jedem Update poppt beim ersten Öffnen die aktuelle History.txt auf.
      Jedes mal wenn ich ein Update mache, dann sehe ich diese Liste aber meistens bin ich froh, dass das update gelungen ist und dann nehme ich mir nicht die Zeit das alles durchzulesen und auch noch zu kapieren..
      Danke für den Tipp die Historie auch im Nachgang noch lesen zu können.