AVR-DOS Code-Beispiel

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • AVR-DOS Code-Beispiel

      Leider kann ich im Originalbeitrag von Mechanik nicht antworten. Ohne jede Fehlermeldung wird meine Antwort nicht übertragen.

      Ich würde gerne das Programm von Mechanik zu AVR-DOS testen, um Teile daraus für mein Programm zu verwenden. Ich komme aber nicht mit den gewählten Pin zurecht.
      Es gibt beim Nano kein portf.7, laut Schaltbild liegt Mosi portb.3, miso an portb.4 usw.. Ich habe hier ein SD-Board mit CS, SCK, MOSI, MISO und 5V Konverter. Könntest Du mir das erklären.

      MfG

      Uhland
    • Hallo Uhland,

      hilft Dir das weiter?

      'Belegung der Anschlusspins am Atmega: Siehe Config_MMCSD_HC.BAS

      Ich habe es für den 328p so belegt:

      Die vier musst Du belegen:

      'Mmc_cs (CS) --> PortB.1
      'MISO --> PortB.4 --> Portb.4 = 1 --> pull up on miso
      'MOSI --> PortB.3
      'SCK --> PortB.5

      SS freilassen, der wird auf high gezogen:

      'SS --> PorB.2 --> Set SPI-SS to Output and High for Proper work of!

      Die brauchst Du natürlich passend für die SD-Karte (3,3V!):
      'GND --> GND
      '+5V --> +5V --> 3,3V

      Es wäe so schön, wenn man die onboard-Led als Zugriffsanzeige für die SD-Karte nehmen könnte, das geht aber leider nicht:
      'Led1 --> Portb.5 --> Überlager mit SCK!!!

      Ich habe die billigen SD-Kartenhalter mit Levelshifter und Spannungsregler aus China genommen. Bei mir gehen die wunderbar.

      Bitte beachte unbedingt den Levelshift zwischen den 5V vom 328p und den 3,3V von der SD-Karte!

      Du musst nur die SD_Kartenzugriff_mini_328p.bas bearbeiten und dort Deine Sachen einbauen. Die beiden anderen Dateien müssen im selben Verzeichnis liegen.

      Viel Spass und viel Glück!

      Andy

      CONFIG_AVR-DOS.bas
      Config_MMCSD_HC_mini_328p.BAS
      SD_Kartenzugriff_mini_328p.bas

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mechanic ()

    • Hallo Mechanik,

      grundsätzlich funktioniert das Programm, aber es gibt Probleme.
      Das Programm erkennt die SD. Größe wird angezeigt. Leere Karte ohne Dateien.
      Wenn ich schreibe, wird Datei angelegt, aber kein Text geschrieben.
      Beim Auslesen wird dann auch nicht ausgegeben.
      Wenn ich mit einem Editor Text in die Datei schreibe, kann er gelesen werden.
      Wenn nach dem Schreiben das Directory angezeigt werden soll, stürzt das Programm ab.
      Ich habe am Programm nichts geändert.

      MfG

      Uhland
    • Ich weiß nicht, was ich davon halten soll, noch einmal gestartet und nun scheint alles zu funktionieren.

      Nochmals Danke für Deine Hilfe.
      Jetzt werde ich alles in mein Programm einbauen, einem Geigerzähler, der über GPS ein Strahlungs-Geländeprofil anlegen kann.

      MfG

      Uhland
    • Hallo Uhland,

      das freut mich, dass es jetzt klappt. Dein vorheriges Problem hört sich nach Kontaktproblemen oder Problemen mit der Spannungsversorgung an. Die SD-Karten ziehen in manchen Momenten massiv Strom, da musst Du ordentlich auf die Abblockkondensatoren achten.

      Zu Deinem Projekt, ich würde mich freuen, wenn Du es veröffentlichst, ich könnte das vielleicht leicht auf eine Idee von mir abändern.

      Beachte: Auf SD-Karten kann man nicht zu oft schreiben. Nur ein paar 100 000 mal. Das hört sich oft an, wenn man es in einer Schleife ungeplant macht, dann ist die Karte schnell futsch. Du kannst das abmildern, indem Du Deine Daten im RAM immer eine Weile sammelst und dann blockweise auf die SD schreibst.

      Viel Spass

      Andy