meine schaltung läuft noch nicht und ich weiß nicht wo dran es liegt
Druckbare Version
meine schaltung läuft noch nicht und ich weiß nicht wo dran es liegt
das ist schade, aber du hast ja den artikel hier verfolgt und weiss, dass es an der art der karte und auch der formatierung (wenn man auf fat aus ist) liegen kann.
ich poste mal einen basic-code, den ich mal im web gefunden habe. in diesem programm wird alles zufuss gemacht. (nicht fat basiert).
zum grundsätzlichen prüfen deines interface ist das vielleicht einfacher.
musste halt noch ein wenig konfigurieren.
gruss
aahhh wie geil!!! der durchbruch!!!! es läuft ... also stimmt doch was mit meiner formatierung nicht!!! danke schön :)
na super. freut mich !
welche variation des wandlers haste jetzt im einsatz ?
ich hab nen 3,3V spannungsstabi, und direkt an der sdkarte einen 22pf und einen220uf kondensator (keine ahnung ob der noch nötig war) und als wandler habe ich drei spannungsteiler aufgebaut. die gemessene spannung beträgt 3,25V bei allen.
vielen dank kolisson!!! ohne deinen testcode wäre ich bald am verzweifeln
ICH BIN BEGEISTERT!!!
ich verfolge nun diesen tread von anfang an, da ich auch schon lange mal sd-karten zum datenloggen verwenden will... heute abend hatte ich nun endlich mal zeit das ganze auszuprobieren. und es hat fast von anfang an geklappt.
mein testaufbau:
RN-Control mit externem steckbrett, als kartenhalter habe ich so eine 2 reihige stekerleiste verwendet (hatte am anfang kontaktprobleme damit)
für die pegelwandlung die einfache spannungsteiler version von ulrich
und für die spannungsversorgung 2 dioden in reihe, bei mir läufts ohne extra kondensator an der karte, wahrscheinlich ist das rn-board schon stabil genug...
nachdem die karte funktionierte, habe ich auch gleich mal das avr_dos angeschaut und mit ein paar änderungen läuft es auch auf dem mega32, konnte auf jedenfall schon ein paar dateien erstellen und diese dann am pc angucken :) (also nicht der interpreter, einfach nur das dos-system)
ich bin gerade auf dem höhepunkt des tages :) ist einfach genial was mit bascom alles machbar ist!!!!
gruss bluesmash
hey sehr gut!!!! das avr_dos würd ich auch gern mal zum laufen bekommen. was hast du für veränderungen gemacht? nur die pins oder noch tiefgreifende?
also für den mega32 habe ich folgendes geändert....
hast du die neueste bascom version mit dem avr_dos ordner in den samples?
in config_avr_dos habe ich folgendes geändert damit es nicht soviel sram speicher braucht:
dann die datei speichern...Code:' Count of file-handles, each file-handle needs 524 Bytes of SRAM
Const Cfilehandles = 1 ' [default = 2]
' Handling of FAT-Buffer in SRAM:
' 0 = FAT- and DIR-Buffer is handled in one SRAM buffer with 561 bytes
' 1 = FAT- and DIR-Buffer is handled in separate SRAM buffers with 1078 bytes
' Parameter 1 increased speed of file-handling
Const Csepfathandle = 0 ' [default = 1]
in config_mmc musst du natürlich deine anschlusspins ändern und ob du hardware oder software spi nutzen willst...
datei speichern....
danach kannst du test_dos_drive öffnen und da musst du das mmc_config file einbinden damit es den richtigen karten treiber hat und die letzte zeile für den fs_interpreter auskommentieren da dies nicht auf den mega32 passt...
danach compilieren und übertragen....
dies sieht bei mir dan folgendermassen aus:
gruss bluesmashCode:$regfile = "m32def.dat"
$crystal = 16000000
' Adjust HW Stack, Soft-Stack and Frame size to 128 minimum each!!!
$baud = 9600
'Open "Com1:" As Binary As #1 ' use #1 for fs_interpreter
Config Clock = Soft
Enable Interrupts
Config Date = Mdy , Separator = .
Dim Btemp1 As Byte
Print "Wait for Drive"
$include "Config_MMC.bas"
' Include here you driver for Compactflash/HardDisk or other
'$include "Config_CompactFlash_M128.bas" ' Does drive init too
'$Include "Config_HardDisk_M128.bas"
If Gbdriveerror = 0 Then
' Include AVR-DOS Configuration and library
$include "Config_AVR-DOS.BAS"
Print "Init File System ... ";
Btemp1 = Initfilesystem(1) ' Partition 1
' use 0 for drive without Master boot record
If Btemp1 <> 0 Then
Print "Error: " ; Btemp1 ; " at Init file system"
Else
Print " OK"
Print "Filesystem: " ; Gbfilesystem
Print "FAT Start Sector: " ; Glfatfirstsector
Print "Root Start Sector: " ; Glrootfirstsector
Print "Data First Sector: " ; Gldatafirstsector
Print "Max. Cluster Nummber: " ; Glmaxclusternumber
Print "Sectors per Cluster: " ; Gbsectorspercluster
Print "Root Entries: " ; Gwrootentries
Print "Sectors per FAT: " ; Glsectorsperfat
Print "Number of FATs: " ; Gbnumberoffats
Print "Disksize : " ; Disksize() ' show disk size in bytes
'Print "Disk free: " ; Diskfree()
Print "File Len: " ; Filelen( "TEST2.TXT") ' show free space too
End If
Else
Print "Error during Drive Init: " ; Gbdriveerror
End If
'File erstellen und etwas reinschreiben
'dim some test variables
Dim S As String * 60 , Fl As String * 12 , Ff As Byte
Dim X As Byte
Dim I As Word
Dim Sdatetime As String * 18
Fl = "test.txt"
S = "test this"
'Now we are getting to it
'We can specify a file handle with #1 or #2 etc. or we can ask for a free
' file handle with the FreeFile function. It will return a free handle if there is one.
Ff = Freefile() ' get a file handle
'With this file handle we refer to a file
Open Fl For Output As #ff ' open fikle for output
' we need to open a file before we can use the file commands
' we open it for OUTPUT, INPUT , APPEND or BINARY
' In this case we open it for OUTPUT because we want to write to the file.
' If the file existed, the file would be overwritten.
Print #ff , S ' print some data
Print #ff , S
Print #ff , S
Print #ff , "A constant" ; S
'Testsb Ff
Close #ff
Print "fertig"
End
' If you want to test with File-System Interpreter uncomment next line
'$include "FS_Interpreter.bas"
Ich habe mal ein Interface (5V/3,3V) entworfen,
sobald ich die Bauteile habe und das Layout an den SD-Connector angepasst wurde, sowie die Schaltung verfiziert ist,
werde ich die Platine hier veröffentlichen....
vielen dank bluesmash!!
hab das gerade mal auspropiert, bekomme die karte aber noch nicht initialisiert. hab das über soft spi gemacht. ich denke da könnte das problem liegen. warum wird in der config_MMC für den softspi eigentlich nicht diese zeile verwendet?
Config Spi = Soft , Din = Pinb.0 , Dout = Portb.1 , Ss = Portb.3 , Clock = Portb.2
noch eine frage: wie macht ihr das wenn ihr den hardspi nutzt? nehmt ihr die sd-karte immer ab beim programmieren?
gruß herrpool