Bascom Avrdos & Sd karte Hängt Prozessor auf

Gast #3021561
Lesenswert?
• ▲
▼
Hallo

 Ich habe heute das erste mal eine Sd karte an einen Avr angeschlossen.
 Soweit scheint es zu klappen er gibt mir den gewünschten Sektor über 
die rs232 aus.
 Doch wenn ich den Sektor erneut Lesen oder Schreiben möchte stürzt mein 
Programm ab und macht einfach garnix mehr.
 Prozessor ist ein mega16 Sd Karte, Pegelwandler und Spannungsversorgung 
(der Karte) sind auf dem "Pollin Net io Addon Board" somit denke ich 
sollte der anschluss der Karte soweit ok sein.


 $regfile = "m16def.dat"
 $crystal = 8000000
 $hwstack = 64
 $swstack = 64
 $framesize = 64
 $baud = 9600

 Const Cmmc_soft = 0
 $include "\\Server\Projekte\28-01-13 sd karte m16\Config_MMC.bas"

 Dim Abuffer(512) As Byte ' SRAM-Bereich für den Transfer
 Dim Wsrampointer As Word ' Adress-Pointer für den Drive... Routine


 Dim I As Word
 Dim Sectornr As Long
 Wsrampointer = Varptr(abuffer(1))
 Gbdriveerror = Driveinit() ' Init MMC/SD Card

 Print "INIT ";
 Print Gbdriveerror

 Sectornr = 1

 Print "Rdy0"

 Gbdriveerror = Driveinit() ' Init MMC/SD Card
 Do
 Print "Rdy1"
 Wsrampointer = Varptr(abuffer(1))
 Print "Rdy2"
 Gbdriveerror = Drivereadsector(wsrampointer , Sectornr ) 'dauert 8ms
 Print "Rdy3"
 For I = 1 To 511
 Print Chr(abuffer(i));
 Next I
 Waitms 1000
 Print "Rdy4"

 Gbdriveerror = Driveinit()
 Print Gbdriveerror

 Loop



 Programm ist kurz und übersichtlich.
 Die "Rdy"'s lass ich mir ausgeben um zu wissen wo er Stecken bleibt

 Meistens schafft er Zwei durchgänge manchmal nur einen manchmal Drei.
 Die Driveinit am Ende war ein Versuch die Karte neuzustarten aber ohne 
Erfolg.
 Mit dem eintrag Driveinit am ende bleibt er meistens bei Rdy4 stecken 
also beim init ohne init beim Drivereadsector.

 Andere Karte (265mb oder 1Gb Micro sd in adapter) Gleiches ergebnis und 
Ohne karte gibt die Init den Fehler 255 aus und hängt sich auf oder eben 
auch erst beim Drivereadsector.

 Schreiben und auch Lesen sind aber nach jedem Reset 1-3 mal Möglich

 Woran könnte das liegen?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.