Forum: Mikrocontroller und Digitale Elektronik SD Karte an Atmega128 mit Bascom. Erbitte Hilfe :) !


von käptn_hangover (Gast)


Lesenswert?

Hallo Forumsmitglieder :) !
Möchte einen kleinen SD-Logger mit Bascom bauen.
Habe mich da an diese Seite gehalten:

http://kampis-elektroecke.de/?page_id=421 die ZIP mit der SD Karte

und Beschaltung von hier:
http://members.aon.at/voegel/index.html?Downloads.htm

Hab nach Anleitung formatiert, in der mmc_config die Pins definiert, 
aber es wird leider nichts gespeichert auf der Karte.

Den abgespeckten Code hab ich hier mit angehängt. Fehlt da irgendwas, ab 
ich zu viel entfernt?

Wäre für jede Hilfe dankbar!

1
'Controller
2
$regfile = "M128def.dat"
3
$crystal = 8000000
4
$baud = 19200
5
6
'Stacks
7
$hwstack = 200
8
$swstack = 200
9
$framesize = 400
10
11
12
'AVR-DOS einbinden
13
$include "config_mmc.bas"
14
$include "config_avr-dos.bas"
15
16
17
 Dim Zu_schreiben As Byte
18
Dim Tmpbyte As Byte                                         '
19
Dim Btemp1 As Byte
20
21
22
23
24
'Unterprogramme
25
26
Declare Sub Speichern
27
Declare Sub Init
28
29
30
Call Init
31
32
Do
33
34
Btemp1 = Initfilesystem(1)
35
If Btemp1 <> 0 Then
36
Call Init
37
End If
38
39
Call Speichern
40
41
Wait 10
42
43
Loop
44
End
45
46
47
'******************************************************************
48
49
50
'SD Karte initialisieren
51
Sub Init
52
Initialisieren:
53
Tmpbyte = Driveinit()
54
Print ""
55
Print "Init: " ; Str(tmpbyte)
56
Print "Trying to read File system..."
57
Btemp1 = Initfilesystem(1)
58
Print "Btemp1: " ; Btemp1
59
60
'Fehlerausgabe
61
If Btemp1 <> 0 Then
62
Print "Error: " ; Btemp1 ; " beim  Initialisieren des Dateisystems"
63
Waitms 500
64
Print "SD - FEHLER"
65
Wait 5
66
Goto Initialisieren
67
Else
68
Print "SD OK"
69
Print ""
70
End If
71
End Sub
72
73
'SD Karte beschreiben
74
Sub Speichern
75
Open "Log.txt" For Append As #1                             'Erstellen oder öffnen der Log.txt Datei
76
Print #1 , "test" ; "text"
77
Close #1
78
Return
79
End Sub

von käptn_hangover (Gast)


Lesenswert?

Oder andere Frage:

Hat jemand nen Beispielcode für das beschreiben einer SD-Karte in 
Bascom?
Hab jetzt nochmal alles neu verkabelt. Geht aber trotzdem nicht :(

von Sabberlotte (Gast)


Lesenswert?

Versuch' mal mit einer kleinen (<1G) Karte.
Am besten eine aus einer alten Kamera.
Ich habe auch viele probiert, bis es endlich geklappt hat.

von käptn_hangover (Gast)


Lesenswert?

Sabberlotte schrieb:
> Versuch' mal mit einer kleinen (<1G) Karte.
> Am besten eine aus einer alten Kamera.
> Ich habe auch viele probiert, bis es endlich geklappt hat.

Danke für den Hinweis. Hab ne 512MB ne 256MB und ne 128MB ausprobiert, 
leider kein Erfolg. Auch nach Anleitung formatiert. Hast du C oder 
BASCOM verwendet?

von Sabberlotte (Gast)


Lesenswert?

käptn_hangover schrieb:
> Hab jetzt nochmal alles neu verkabelt.

Zeig mal deine Schaltung. 3,3V? Pegelwandler?

Ich habe Bascom verwendet (Display3000>D074).

von käptn_hangover (Gast)


Angehängte Dateien:

Lesenswert?

Sabberlotte schrieb:
> Zeig mal deine Schaltung. 3,3V? Pegelwandler?

Habe sowas hier --> 
http://www.ebay.de/itm/Arduino-Raspberry-kompatibel-SD-Card-Modul-/261692968655?pt=Bauteile&hash=item3cee1dcecf

Da ist ein 3.3V Linearregler drauf. Angeschlossen wie auf dem Bild zu 
sehen
(Quelle: http://members.aon.at/voegel/index.html?Downloads.htm).

Auf der SD Platine gibts schon Spannungsteiler für den Anschluss an 5V.

Karte bleibt nach Codeausführung einfach leer.

Kannst du mal deinen Beispielcode posten. Danke schonmal :)

von markkk (Gast)


Lesenswert?

Lege mal die Log.txt auf der Karte am PC an und schaue ob dann etwas in 
die Datei geschrieben wird.

von Sabberlotte (Gast)


Lesenswert?

käptn_hangover schrieb:
> Karte bleibt nach Codeausführung einfach leer.
>
> Kannst du mal deinen Beispielcode posten.

1. Die Initialisierung muss u.U. mehrfach (2-? x) durchgeführt werden.
   Mach mal eine Schleife rum.

2. Leider nicht :

' Display-Software-Grundlagen wurden von Peter Küsters, 
www.display3000.com ermittelt
' Dieser Display-Code ist urheberrechtlich geschützt. Sie erhalten eine 
Source-Code-Lizenz,
' d.h. Sie dürfen den Code in eigenen Programmen verwenden, diese aber 
nur in kompilierter
' Form weitergeben. Die Weitergabe dieses Codes in lesbarer Form oder 
die Publizierung
' im Internet etc. ist nicht gestattet und stellen einen Verstoß gegen 
das Urheberrecht dar.
' Weitere Displays, Platinen, Spezialstecker und fertige Module: 
www.display3000.com

....ist aber fast genau so.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.