- LiFePO4 Speicher Test         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Bascom und SQL-Datenbanken

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    eine Frage hab ich da noch:
    - weiss jemand, ob ich den SPI-Modus im AVR-Dos für die MMC-Karte irgendwo setzen bzw. einschalten muss (Damit der read/write-befehl weiss, dass die Daten auf die Karte gehen sollen)?

    Wenn ja, wie genau geht das mit Bascom/Basic (bei Uhrig Radig war der Code für die MMC-Karte in C geschrieben - und damit kann Bascom/Basic wohl nix anfangen...)?

    Vielen Dank für Eure Zuschriften an dieser Stelle.

    Gruss
    Euer Sascha

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    Hallo,

    habe das Test-Beispiel von AVR-Dos versucht für meinen ATMEGA32, wie es dort beschrieben ist, zu compilieren. Dabei kommt immer die Meldung: Out of SRAM. Egal wie ich den Code aus dem Beispiel einkürze (Nur init, open, print #1.., close etc.) - es ist immer die gleiche Fehlermeldung. Hat jemand AVR-DOS auf einem ATMEGA32 evtl. schon zum laufen bekommen? Wenn ja, was muss dort im Code angegeben werden? Habe es auch mit "$default Xram und $default Sram" versucht, nachdem ich das im Microcontroller-Forum gefunden habe. Der Compile lieferte dann keine Fehler wegen SRAM mehr, aber beim hochladen auf den Chip gab es dann die Fehlermeldung, dass der Chip nicht mit einem ATMEGA32 übereinstimmt.

    Hier ist mein kurzes Test-Beispiel:

    Code:
    $regfile = "m32def.dat"
    $crystal = 8000000
    $xramstart = &H300
    $xramsize = &H10000
    $default Xram
    $include "samples\avrdos\Config_MMC.bas"
    $include "Config_AVR-DOS.bas"
    $default Sram
    
    Dim S As String * 20
    Dim Wsrampointer As Word
    Dim W As Byte
    Dim Xxx As Byte
    Dim Sektor As Long
    
    Xxx = Initfilesystem(1)
    W = 122
    Open "abc.txt" For Input As #1
    Input #1 , S
    Print #1 , "lkjlkjlkjlkj"
    Close #1
    
    End
    Habe nun folgende Gedanken:

    Funktioniert AVR-DOS überhaupt mit einem MEGA32 oder muss ich mein RNBFRA-Board irgendwie mit einem ATMEGA128 oder MEGA2560 upgraden? Wenn ja, was ist dafür empfehlenswert (zusatzboard mit MEGA2560 wie im Robotikshop erhlältlich ans RNBFRA anschliessen? Wenn ja, woran schliesst man das Zusatzboard am RNBFRA an (SPI, RNB-BUS, I2C-Bus)?
    - Oder -
    Kann man dem Mega32 evtl. mehr SRAM spendieren z.B. durch externe Speichermodule oder kann man einen SRAM-/Speicher-Chip auf dem RNBFRA-Board austauschen?
    - Oder -
    Wäre es möglich den ATMEGA32 aus dem Board herauszunehmen und Ihn gegen einen Mega128 (durch z.B. eine selbstgelötete Schnittstelle) zu ersetzen?

    Vielen Dank schon mal für Eure Replys.
    Gruss
    Sascha

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    59
    Beiträge
    1.080
    AVR-DOS läuft ohne Probleme auf einem MEGA32, allerdings ist die Datei "Config_AVR-DOS.bas" anzupassen. Um SRAM zu sparen sollte der Parameter cFileHandles = 1 gesetzt werden und cSepFATHandle = 0.

    Beide Angaben sind direkt am Anfang der Datei zu finden.

    Weiteres fällt mir nicht ein, da ich dein Board nicht kenne.

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    vielen Dank für die Info - jetzt kommt die Meldung mit dem sram nicht mehr auch wenn ich den folgenden code (den ich gefunden habe) auskommentiere:

    '$xramstart = &H300
    '$xramsize = &H10000
    '$default Xram
    '$default Sram

    Habe das Programm dann versucht auf den AVR zu schreiben - da kam die Fehlermeldung mit dem "Not match Chip ... <> Mega32" wieder. Habe dann die Optimale Anbindung der MMC-Karte vom RNB-BUS (genauer: SPI-Bus, +5V und GND vom RNB) wieder abgezogen und dann versucht das Programm auf den Chip zu schreiben - da hat es funktioniert. Ist es normal, dass man den Chip nur Programmieren kann, wenn am SPI-Bus nichts hängt? Oder hat die Schaltung evtl. zuviel Strom vom Board gezogen, sodass der AVR nicht mehr genug hatte?
    Als ich nachdem erfolgreichen Proggen des AVR dann die MMC-Karte mit der Schaltung wieder angeschlossen und das Board angeschaltet habe, ist auf der Karte nichts passiert (habe Sie vorher frisch mit FAT16 Formatiert).
    Jedenfalls hätte doch dort, ein Textfile abc.txt mit dem Inhalt 'lkjlkjlkjlkj' erwartet. Doch die Karte war noch leer.
    Woran kann es nun liegen:
    - soll ich die Karte mal ohne schaltung (Optimale Anbindung von Ullrich Radig wie oben angegeben) an den SPI anschliessen und die Karte nur mit Spannungsteiler (wg. 3,3V) versorgen?
    - Oder liegt es daran, dass ich den Strom vom RNB-Bus genommen habe?
    Gruss
    Sascha

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    habe jetzt die Karte mal ohne die Schaltung "optimale Anbindung von Ullrich Radig" angeschlossen (so wie es im Pdf: Update für AVR-DOS Release 5 und auch in der Config_mmc.bas beschriefen ist)
    und die Karte mit 3,3V versorgt. Jetzt kann ich den Chip Programmieren wenn die Karte angeschlossen ist. soweit so gut - aber auf der karte stehen immer noch keine daten. habe in der config_mmc.bas auch mal den schalter Cmmc_soft = 1 gesetzt. jedoch tat sich da auch nichts. habe die Datei abc.txt dann manuell angelegt. Aber da tat sich auch nichts. Den schalter habe ich dann wieder auf 0 gesetzt - tat sich auch nichts - der text wird einfach nicht in das txt-file auf der karte geschrieben. Hat jemand evtl eine Idee hierzu? Kann ja eigentlich nur noch am code liegen, oder? Hat jemand die karte so wie ich direkt am Spi des AVR und nutzt AVR-DOS?
    Hier ist nochmal mein aktueller code:
    Code:
    $regfile = "m32def.dat"
    
    $crystal = 8000000                                          'Quarzfrequenz
    $baud = 9600
    
    $hwstack = 64
    $swstack = 256
    $framesize = 64
    
    $include "Config_MMC.bas"
    $include "Config_AVR-DOS.bas"
    
    Dim S As String * 20
    Dim Xxx As Byte
    
    Xxx = Initfilesystem(1)
    Open "abc.txt" For Input As #1
    Input #1 , S
    Print #1 , "lkjlkjlkjlkj"
    Close #1
    
    End

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    Bei dem beigefügten Bild "pinoutsMEGA32.jpg" sieht man SS, MOSI, MISO und SCK des AVRs.
    An diese Pins habe ich die Karte auch gemäss der Beschreibung auf der 2. Seite des PDF
    "MMC-SD-ANBINDUNGUpdate-Info_de"
    angeschossen.

    pinNr.........MEGA32.......KARTE
    ---------------------------------------
    5. pin........SS..............an CS
    6. pin........MOSI..........an DI
    7. pin........MISO..........an DO
    8. Pin........SCK...........an SCLK

    Direkt an der Karte messe ich auch 3,30 Volt da wo sie sein müssen und
    GND der Karte geht auch an den GND des AVR.
    Es kann eigentlich nur noch am Quellcode liegen oder sieht hier jemand einen anderen Fehler (z.B. Pinbelegung). Was ist eigentlich die Durchnummerierung PB0 - PB3 am AVR (1.Pin -4.Pin) heisst das PortB.0 - PortB.3? Wenn Ja, dann ist die Beschreibung mit dem SPI-Bus (MISO, MOSI,SS, CLK irreführend bzw. falsch) oder ich irre mich beim Interpretieren von PB0 (SCK/T0) = PortB.0 etc...

    Kann hier jemand seinen Code für eine MMC-Karte mal posten?
    und an welche Pin-Nummer des AVR was angeschlossen ist?

    Danke und Gruß
    Sascha
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pinoutsatmega32.jpg  
    Angehängte Dateien Angehängte Dateien

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    habe jetzt die minimale beschaltung gelötet und angeschlossen. leider tut sich da auch nichts - habe eine 64mb eine 512mb und eine 1gb katrte getestet- jedoch bleibt die karte und die abc.txt immer leer.
    habe dann auch folgendes probiert:
    in der Config_mmc.bas an dieser stelle die pins für den spi-bus des mega32 angepasst (denn ich habe sie an den pins 4-7 angeschlossen wie oben auf der pinbelegung zu sehen ist.)
    Code:
    ' --------- Start of Section for Soft-SPI --------------------------------------
    
       ' Chip Select Pin  => Pin 1 of MMC/SD
       Config Pinb.4 = Output
       Mmc_cs Alias Portb.4
       Set Mmc_cs
    
       ' MOSI - Pin  => Pin 2 of MMC/SD
       Config Pinb.5 = Output
       Set Pinb.5
       Mmc_portmosi Alias Portb
       Bmmc_mosi Alias 2
    
       ' MISO - Pin  => Pin 7 of MMC/SD
       Config Pinb.6 = Input
       Mmc_portmiso Alias Pinb
       Bmmc_miso Alias 3
    
       ' SCK - Pin  => Pin 5 of MMC/SD
       Config Pinb.7 = Output
       Set Pinb.7
       Mmc_portsck Alias Portb
       Bmmc_sck Alias 1
    hat aber auch nichts gebracht...
    habe auch spi soft und ohne ausprobiert.
    sogar mit c:\abc.txt und ohne c:\
    - jecoch alles erfolgos

    hat jemand eine idee, woran es noch liegen könnte?

    Gruss
    Sascha

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    und hier ist der code von meinem aktuellen versuch:
    Code:
    $regfile = "m32def.dat"
    
    $crystal = 8000000                                          'Quarzfrequenz
    $baud = 9600
    
    $hwstack = 64
    $swstack = 256
    $framesize = 64
    
    $include "Config_MMC.bas"
    $include "Config_AVR-DOS.bas"
    
    Dim S As String * 20
    Dim Xxx As Byte
    
    Xxx = Initfilesystem(1)
    Open "c:\abc.txt" For Output As #1
    Print #1 , "lkjlkjlkjlkj"
    Close #1
    
    End

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    - ist ein "c:\" bei MMC-SD Karten in Bascom nötig oder überflüssig?
    - war es richtig, die PINs und PORTS wie oben beschrieben von 0-3 auf 4-7 zuändern oder war das falsch?
    - hat jemand das AVR-DOS mit einem ATMega32 und einer MMC-SD-Karte schon mal zum laufen bekommen und könnte hier einen Bascom-Code posten sowie, das was in der Config-MMC.bas steht und an welchen Bereich der Pins ( Pin 1 - 4 oder Pin 5 - 8 würde mir reichen) die Schaltung angeschlossen ist?
    Gruß
    Euer Sascha

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    20.01.2008
    Beiträge
    40
    Ok, hab den Fehler gefunden- es läuft jetzt und schreibt auch in die Datei.
    Es lag daran, dass ich noch die anderen Pinb.... im Config_MMC.bas auf pinb.4 - 7 zu ändern. Also zu den noch offen fragen oben kann ich beantwortend sagen, dass ein C:\ (wie in manchen programmcodes gefunden) nicht nötig ist. Die Pins muss man für einen ATMEGA32 allerdings von 1-4 auf 5-8 in der Config_mmc.bas ändern...

    Wichtiger Hinweis:
    ---------------------------
    Ausserdem muss man dann das Board nach dem Flashen vom Strom trennen ca 2 sek. warten und es dann wieder mit strom versorgen. Danach ca 7 sek warten bis das Board die Befehle ausführt. Trennt man es nicht nach dem flashen vom strom dann bekommt man beim initfilesystem(1) den Returncode 277. Hat übrigens auch wegen einer nagelneuen 512-MB MMC-Karte von HAMA nicht funktioniert - dafür aber mit einer 5 Jahre alten 64 MB-Karte.
    Gruß
    Sascha

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen