Hallo Hallo, danke Eurer Hilfe habe ich vor einigen Wochen einen guten Start in Sachen uC gebahabt. Nachdem ich mir eine Uhr und ein Thermometer gebaut habe, möchte ich es nun mit einem MP3 Player versuchen. Könntet Ihr mir Links zu den Grundlagen dazu geben? Ich denke man müsste dazu das MP3 Format im Detail kennen, nicht wahr? Grüße Jochen
>zu das MP3 Format im Detail kennen, nicht wahr?
Oder einen MAS3507 bzw. deren Nachfolger nehmen ;-)
Erstmal danke für deinen Anreiz. Ich möchte Euch mal meine Erfahrungen schildern: Mich interessiert das Gebieht nur zu sehr! Aber ich finde weder ein passendes Lehrbuch, noch eine fundierte Internetseite. Das geht jetzt schon über ein halbes Jahr so. Ich muss das doch einmal erklärt bekommen. Im Studium höre ich nur was von magnetischen Feldern usw. Ich kann doch auch nicht wegen jeder Kleinigkeit im Forum fragen z.B. wie ich den oben genannten IC nun bediene, anschließe, ansteuere und wie ich letztendlich Boxen daran anschließe und was mein MC machen soll. Ich würde gerne, sehr gerne viel alles in Ruhe erarbeiten, ich weiß nicht wo ich ansetzen soll. Das Studium taugt nichts (s.o), Bücher finde ich nicht. Wie machen das denn andere Leute, die scheinbar das Wissen dazu haben?
die meisten lesen das datenblatt und machen sich die mühe alles darin auszuprobieren, das braucht viel zeit die ich auch nie habe, leider :(
VS1011 von www.VLSI.fi Einfach gesagt : MP3-Datei von vorn bin hinten rein schieben und am Ausgang über Kopfhörer die Munik genießen.
Wie schiebe ich denn eine Mp3 Datei herrein? Ich kann ja eine SD Karte nehmen und sie darauf speichern. Wie steuere ich so eine SD Karte an und wie sage ich den Chip welche Datei er abspielen soll?
Beitrag "Re: Atmega32, AVRstudio und SRAM" Erst lesen und versuchen zu verstehen, dann konkret fragen. MfG, BlauBär
jochen wrote:
> sorry, aber ich weiß nicht, was dieser Link damit zu tun haben soll
Dann lies den Anhang dieses verlinkten Beitrags. Durch Analyse dieses
Quelltextes werden einige Deiner Fragen beantwortet. Ich hoffe, dass
Fubu den Schaltplan auch noch postet, angeboten hat er es ja.
MfG, bärisch trolliger Blau (oder andersrum?)
Suche benutzen, z.B. hier im Forum oder google. Es wird nicht für jeden einzeln immer alles neu geschrieben.
Hallo, sorry ne den Schaltplan hab i noch nit gepostet, aber wenn Jemand interesse hat mach ichs natürlich!!! gruss
@ Martin Softwaredownload: Null Einträge in deinem Forum: Null Informationen: Null
Martin wrote: > http://martinsuniverse.de/projekte/audiohplayer/audiohplayer.html jochen steht aber auf AVRs und nicht auf M16C von Renasas. Fubu1000 wrote: > Hallo, > sorry ne den Schaltplan hab i noch nit gepostet, aber wenn Jemand > interesse hat mach ichs natürlich!!! Ich habe Interesse. Und jochen sicher auch. MfG, Bärli, trollig blauer (der mit den Pointern)
Hey danke! Klar habe ich Interesse, wobei ich bezweifel, dass mir damit alles klar ist. Es wäre nett, wenn mir jemand mal eine kurze Beschreibung geben könnte, wie man SD Karten anspricht, sie in diesem MP§ Chip eingibt und schließlich ein Audio Signal erzeugt. Diese Info konnte ich in dieser zusammenhängenden Form auch hier in diesem Forum leider noch nicht finden. Danke.
> Es wäre nett, wenn mir jemand mal eine kurze Beschreibung geben > könnte, wie man SD Karten anspricht, sie in diesem MP§ Chip eingibt und > schließlich ein Audio Signal erzeugt. Dann teile eben das Problem auf. Informiere dich zuerst, wie man eine SD-Karte ausliest. Wenn du das verstanden und im Mikrocontroller implementiert hast, informierst du dich, wie man den Chip ansteuert. Wenn das wiederum läuft, bastelst du dir eine geeignete Endstufe für den Sound. Zeitbedarf mit wenig Erfahrung und Wissen: Je nach Freizeit einen Monat bis ein halbes Jahr.
@Holger Dein Beitrag - Info Null. 1. Ist die Seite sehr neu. 2. Fals du lesen kannst steht dort auch "under construction" 3. Gibt es da zu mindest einen Schaltplan, aus dem man auch was ableiten kann. 4. Wenn jemand was genaueres wissen will, kann er ja anfangen in meinem Forum zu Posten. Ich will nicht anderen Foren die Leute wegnehmen, es soll in meinem Forum nur um meine Projekte gehen. Was meinst du wie zum Beispiel das Forum "www.mikrocontroller.net" angefangen hat? Richtig mit Null Beiträgen. 5. Hast du was besseres auf Lager? Zeig her, oder hast du nur unkonstruktive Kritik auf Lager? Ich erwarte nicht unbedingt Lob, aber wenn dann wenigsten konstruktive Kritik. 6. Was für Infos fehlen dir konkret? @ Troll Blaubär Von AVR habe ich bei Jochen noch nichts gelesen. :-) Der Anschluß des VS1011 oder der SD-Karte ist bei allen µC ähnlich -> Man kann daraus auch Infos für den AVR oder PIC ableiten. @Jochen Es gibt im Netz sehr viele MP3-Player Projekte, dich auch besser dokumentiert sind, als meines. Wenn du hier im Forum mal nach MP3 oder SD-Karte suchst solltest du eine ganze Menge finden. Scau dir die Datenblotter und Application notes zu den oben genannten Chips an.
ok, ich beschäftige mich zunächst mit der SD Karte. Auch hier konnte ich keine fundierte Beschreibung finden, wo hervorging, mit welcheN Assembler Befehlen die Karte initalisiert und angesteuert wird und was diese Befehle im Detail machen. Habt ihr sowas?
Du suchst an der Falschen Stelle! Assemblerbefhele werden im Datenblatt des enstrechenden Prozessors erklärt. Die haben mit der SD-Karte nichts zutun
> @ Troll Blaubär > Von AVR habe ich bei Jochen noch nichts gelesen. :-) Stimmt. Nicht in diesem Thread. Als aufmerksamer Leser dieses Forums hätte man aber über einen dieser Threads von jochen (es gibt noch mehr) stolpern können: Beitrag "erstes Programm, Binärzähler. Frage (Mega8)" Beitrag "Entprellung" Beitrag "Stoppuhr mit Mega8. Reicht ein Controller aus?" Beitrag "Minimalbeschaltung Mega8" Beitrag "Timer. Er ist schneller als gewünscht." Beitrag "7 Segmentanzeige falsch eingekauft, reagiert nur auf low." Beitrag "Fehler in Zählvorgang meiner Uhr" Beitrag "Tonfrequenzen (Noten) erzeugen mit tiny45 in C" Beitrag "AVR auf externen Takt einstellen" Beitrag "AVR. Batterie ist sehr schnell leer" Beitrag "Netzteil Unterschiede auch in Stromangabe?" Beitrag "Spannung zu hoch, Mega 8 geht nicht" Beitrag "Kupferdraht" Beitrag "welcher Lötkolben" Beitrag "AD Wandler des Mega8 in Assembler" Beitrag "Uhr zu ungenau" Beitrag "Welche Art von Widerständen?" Beitrag "AD Konverter beim Mega 8" Beitrag "Thermometerbau mit MEGA 8" Beitrag "Fuses im AVRStudio" Lies die Threads und mach' Dir Dein eigenes Bild, ob Dein Projekt für jochen geeignet ist. Jochen braucht es meines Erachtens nach etwas detaillierter. > Der Anschluß des VS1011 oder der SD-Karte ist bei allen µC ähnlich -> > Man kann daraus auch Infos für den AVR oder PIC ableiten. Das ist wohl wahr und das habe ich auch nicht kritisiert. MfG, Heidelbär äääähhh trolliger Blaubär
> mit welcheN Assembler Befehlen die Karte initalisiert und angesteuert > wird und was diese Befehle im Detail machen. Habt ihr sowas? Der Karte werden zum initialisieren einige Kommandosequenzen gesendet. Das hat wie oben gesagt nichts mit Assembler zu tun. Für MMC's findest Du hier recht viel: http://elm-chan.org/docs/mmc/mmc_e.html Du wirst auch nicht drum herum kommen, dich mit einem Dateisystem für die Karten zu beschäftigen. Einfach initialisieren und ansteuern is' nich'. Mit den Karten wird auf einer der unteren Abstraktionsebenen geredet. Die Karte interessiert sich nicht die Bohne dafür, was Du speichern willst, ob das eine Datei ist, die in einem Dateisystem abgelegt wird, oder ob das ein einfacher Bitdatenstrom ist, der in der ersten Adresse anfängt und evl. mal aufhört ist der Karte einfach nur WURST. Das hier könnte Dir helfen: http://www.ulrichradig.de/home/index.php/avr/mmc-sd
@ Troll Blaubär Im Thread Beitrag "Eigenbau Mp3 Player" steht nichts von Jochen, dass er AVR einsetzt. Ich durchsuche nicht das ganze Forum um alle Beiträge von Jochen zu lesen, nur damit ich weiß, das er einen AVR einsetzt. Ich bin nich der jenige, der hier Hilfe haben möchte, sondern Jochen. Also sollte Jochen den Hilfewilligen so viel Hilfe zum Helfen wie möglich geben.
Martin wrote: > @ Troll Blaubär > > Im Thread > > Beitrag "Eigenbau Mp3 Player" > > steht nichts von Jochen, dass er AVR einsetzt. Das habe ich weiter oben bereits erwähnt. > Ich durchsuche nicht das > ganze Forum um alle Beiträge von Jochen zu lesen, nur damit ich weiß, > das er einen AVR einsetzt. Das musst Du auch nicht, dafür habe ich Dir die Links auf ein paar Threads zusammengesucht. > Ich bin nich der jenige, der hier Hilfe haben > möchte, sondern Jochen. Das ist wohl wahr. > Also sollte Jochen den Hilfewilligen so viel > Hilfe zum Helfen wie möglich geben. Das wollte ich mit meinem etwas sarkastischen *) Beitrag ausdrücken. Jochen braucht nämlich alles doppelt und dreifach vorgekaut, es reicht nicht, ihm einen Hinweis auf ähnliche Projekte Anderer zu geben. Lies ein paar seiner Threads, dann weißt Du was ich meine. Ich gebe Dir also in allen hier von Dir genannten genannten Punkten recht. MfG, trolliger Blaubär. *) Ich gehe davon aus, dass ich mit meinem Nick nicht jede sarkastisch oder humorig gemeinte Aussage durch Slilies kennzeichnen muss.
> ok, ich beschäftige mich zunächst mit der SD Karte. > Auch hier konnte ich keine fundierte Beschreibung finden, wo hervorging, > mit welcheN Assembler Befehlen die Karte initalisiert und angesteuert > wird und was diese Befehle im Detail machen. Habt ihr sowas? Jetzt mal direkt gefragt: Hast du schonmal irgend ein externes Ding an deinem uC angesteuert? Irgend ein IC oder so und seis nur ein Schieberegister? Hast du da gemerkt, wie der Hase läuft? Wenn du nach Assemblerbefeheln für ne SD-Karte suchst, fürchte ich fast, happert es bei dir noch schwerst an Grundkenntnissen. Da würde ich dir wirklich ans Herz legen, zuerst was einfacheres zu probieren.
Danke, Martin, dass du mir die Hilfe anbietest. Ja, es ist wahr. Ich brauche eine schön verständliche Anleitung, wenn ich mir einen 5 Seitigen Quellcode ansehe, der zudem noch nicht mal in dem von mir verwendetem AVR Assembler geschrieben ist, und von dem Thema keine Ahnung habe, bringt mir das nicht viel. Andere Projekte anzusehen ist zwar interessant, nur eine anfängergerechte Beschreibung dazu finde ich auf den Seiten auch nicht. Ich weiß ja nicht wie es Euch geht aber ich brauche eine verständliche Erklärung, um die Sachen zu verstehen. Wenn nirgendswo steht wie es lückenlos funktioniert, woher soll ich es dann wissen? Ich werde mir den (leider englischsprachrigen) von oben mal durchlesen, wobei auch hier die AVR Befehle und ein Anwendungsbeispiel fehlt. Ich denke mal, ich werde mich dann in dem neuen Forum melden, es wäre dennoch sehr entgegenkommend, wenn mir die Funktionsweise und die zugehörigen AVR Befehle jemand nenenn könnte.
@mr. Chip, nein, das habe ich nicht. Gerne würde ich die Grundkenntnisse dazu lernen. Leider weiß ich nicht mal, wonach ich suchen soll. Hast du Links mit Schritt für Schritt Anleitungen?
jochen wrote:
> zugehörigen AVR Befehle jemand nenenn könnte.
Es gibt sie schlicht und ergreifend einfach nicht.
Das ist so wie es in einer Programmiersprache keinen
Befehl zur Berechnung von Primzahlen gibt. Aber es gibt
andere, weniger mächtige Befehl und durch eine Kombination
dieser Befehle ist es möglich eine Funktion zu schreiben,
die Primzahlen berechnet.
Das, und nur das, ist das ganze um und auf jeglicher Programmierung:
Die Kombinierbarkeit von wenig mächtigen Dingen um daraus ein
mächtiges Ding entstehen zu lassen. Das und nur das ist
auch der Grund warum Programmieren so sauschwer ist.
Das ist wie beim Lego Spielen:
Früher lag unter dem Weihnachtsbaum eine Schachtel mit
Bausteinen. Was daraus entstand war der Phantasie des
Kindes überlassen. Heute gibt es ne Unmenge von 'Baukästen'
in denen eine Schritt für Schritt Anleitung zeigt, wie man
mit den Bausteinen eine Burg aufbaut. Ist die Anleitung weg,
dann landen die Bausteine auf dem Müll, weil die Kinder nicht
mehr gelernt haben, dass man die Bausteine auch anders kombinieren
kann.
Programmieren ist ersteres: Du hast einen Haufen Bausteine und
musst zusehen, wie du die vernünftig miteinander kombinierst
um ein Problem zu lösen. Manchmal (meistens) muss man auch erst
mal einiges an Zeit investieren um überhaupt drauf zu kommen, was
denn eigentlich das Problem ist.
"Captain, ich programmiere mal eine neue Schildmodulation"
"In Ordnung, Data"
"Computer, moduliere Schilde neu"
... funktioniert halt nur bei Star Trek
ich habe schon mal einen gelatchten 7 Segmenttreiber angesteuert, bei meiner Uhr. Also da hatte ich 4 Stück. Und So konnte ich, wenn ich 3 in den "Schlafmodus" schicke und nur einen "aufnahmefähig" habe, 4 Segmentanzeigen mit dem Mega 8 ansteuern. Meinst du sowas?
> Gerne würde ich die Grundkenntnisse dazu lernen. Leider weiß ich nicht > mal, wonach ich suchen soll. Hast du Links mit Schritt für Schritt > Anleitungen? Hab ich nicht, gibt es nicht und kann es auch nicht geben. Arbeite doch mal das Tutorial von mikrocontroller.net durch, dann kommst du dem Problem etwas näher. Ja, jetzt heisst es arbeiten, lernen, Fehler machen, Fehler suchen, Geduld haben!
mr.chip wrote: >> Gerne würde ich die Grundkenntnisse dazu lernen. Leider weiß ich nicht >> mal, wonach ich suchen soll. Hast du Links mit Schritt für Schritt >> Anleitungen? > > Hab ich nicht, gibt es nicht und kann es auch nicht geben. Arbeite doch > mal das Tutorial von mikrocontroller.net durch, dann kommst du dem > Problem etwas näher. Ja, jetzt heisst es arbeiten, lernen, Fehler > machen, Fehler suchen, Geduld haben! und: auch mal anderen Code analysieren Jochen ist ja nicht der erste der eine SD Karte ansteuern will. Da draussen gibt es jede Menge Programme (auch für einen AVR) mit dem das gemacht wird. Deren Code ist interessant, den kann man mal analysieren, was denn da so alles passiert. Bei der Analyse kommt man auf Dinge die man zunächst mal nicht versteht: bestimmte Bytes werden von und zum Gerät gechickt o.ä Da muss man dann nachhaken und im Web Doku darüber suchen. Ev. stellt man auch mal eine Hypothese darüber auf, wie ein Codeabschnitt funktioniert. Um die Hypoth. zu verifizieren kann es dann notwendig sein, dass man im Debugger dieselbe Codestelle immer und immer wieder durchsteppt und sich anschaut wie sich Register verändern und wie das zur Hypothese passt. usw. usw. Es ist nicht ungewöhnlich, dass bei solchen Analysen ein paar Tage drauf gehen. Also: Fremden Code her, und den auseinandernehmen. Irgendwann kristallisieren sich dann da Fragen heraus. Fragen zu bestimmen Assemblerbefehlen -> Im Datenblatt nachschlagen Fragen zum Dtaentransportmechanismus -> Im Datenblatt nachschlagen bzw. Web-Recherche bzw. hier fragen Fragen zu Kommandos die an die SD Karte geschickt werden -> Web Recherche über SD Kommandos bzw. hier fragen Wer nicht bereit ist, diese Arbeit aufzubringen und immer nur nach Anleitung arbeiten kann/muss/will, der ist in der Programmierung definitiv am falschen Platz.
Hallo, danke für die Anregung. Das Problem ist nur, ich finde keinen Fremden Code, in dem genau das gemacht wird, was ich will. Und das ist testweise einfach mal 1 Byte in die SD Karte schreiben. Nehme ich mir fremden Code, habe ich etliche Programme, die zudem noch 1000 andere Funktionen haben und das eigentliche Problem verschwimmt. Hättet ihr denn mal einen Code und eine Beschaltung, damit ich ein paar Byte in die Karte schreiben kann?
jochen wrote: > Hallo, > > danke für die Anregung. > Das Problem ist nur, ich finde keinen Fremden Code, in dem genau das > gemacht wird, was ich will. Das ist eine dicke Lüge. Ich habe Dir nicht umsonst den Link auf Fubu1000 sein Programm eines MP3-Players gepostet: Beitrag "Re: Eigenbau Mp3 Player" Dieses Programm macht alles das, was Du für Dein Projekt brauchst. Es initialisiert die SD-Card, versteht das FAT-Dateisystem, ermöglicht die Auswahl von Dateien von der SD-Card, schaufelt die Dateien in den Decoder-Chip, steuert die Lautstärke des Endverstärkers und tut vermutlich noch ein paar Dinge mehr, die ich beim Überfliegen des Codes (zwecks erfolgreicher Fehlersuche) gar nicht gesehen habe. Der Code ist übersichtlich geschrieben und formatiert, mit den Kommentaren und Namen für Konstanten, Variablen und Sprungziele kann man was anfangen. Der Stil ist recht einfach gehalten, es werden keine Interrupts verwendet... Was willst Du mehr??? Sicher hätte ich auf die Projekte von Klaus Leidinger und anderer anderer "Edelbastler" (soll keine Beleidigung sein, ich wollte das Wort "Profis" vermeiden) verweisen können, aber mir war klar, dass das zu hoch für Dich ist. > Und das ist testweise einfach mal 1 Byte in > die SD Karte schreiben. Geht nicht. Außerdem muss Dein MP3-Player nicht schreiben, sondern lesen. Es reicht, wenn der PC mittels Kartenleser schreibt. Um also ein Byte zu lesen (oder wegen meiner Großmutter aus auch schreiben), muss erst die Karte initialisiert werden. Dann ist es Unfug, irgendein Byte zu lesen, denn Du (Du nicht, aber Dein Programm) musst erstmal wissen, wo interessante Bytes zu finden sind. Dazu musst Du FAT implementieren. > Nehme ich mir fremden Code, habe ich etliche Programme, die zudem noch > 1000 andere Funktionen haben und das eigentliche Problem verschwimmt. Nööö. Da gibt es Kommentare, die darauf hinweisen, wozu die Routinen dienen. Und mittels Suchfunktion (Ctrl-f / F3) findet man ganz schnell alle Stellen, die ein bestimmtes Sprungziel (Label) anspringen. Mit etwas Fleiß kann man sehr gut die Code-Teile isolieren, die man zur näheren Analyse braucht. > Hättet ihr denn mal einen Code und eine Beschaltung, damit ich ein paar > Byte in die Karte schreiben kann? Nö, sowas braucht kein Mensch. Es würde Dir auch nix nützen. Im schlimmsten Fall versaust Du Dir die Karte, dass sie nichtmal von einer Digicam erkannt wird und formatiert werden kann. Ist mir zumindest mal mit einer kleinen Smart-Media-Karte passiert. MfG, Blau Trollbär (oder so)
Wie man ein Byte in eine MMC Karte schreibt? Ganz einfach: > out SPDR,temp1 In dem Code von Radig wird genau das gemacht, was Du willst. Nur das Dateisystem wird noch zusätzlich implementiert. Das Problem ist, dass es nicht mit einer Beschaltung und ich will mal ein par Bytes schreiben getan ist. Ach ja, den Link mit Beschaltung hab ich bereits gepostet! ulrichradig.de Ich habe rund zwei Wochen damit zugebracht, Code von anderen zu analysieren und Ansätze auszuprobieren. Am Schluss habe ich das, was Radig in C macht mit AVR-Assembler nachgeschrieben. Gelernt habe ich dabei viel. Aber, was willst Du mit ein paar Byte, die Du in die Karte geschrieben hast? Wie liest Du sie aus? Du musst LERNEN dein Problem in Unterprobleme zu zerlegen! - Problem: will was in SD-Karte schreiben Unterprobleme: -> Anschluss der Karte an den Controller (Hardware) -> Hat mein Controller eine passende Schnittstelle? -> Wie wird mit der Schnittstelle umgegangen (Initialisierung)? -> Muss ich mir die Schnittstelle evl. per Software erzeugen? -> Wie will ich die Daten im Speicher organisieren? -> Wie will ich sie wieder auslesen? -> Brauche ich dazu ein Dateisystem? Und dann lies Dich in die Thematik ein! Du verlässt hier den bereich, in dem es Schrittfürschrittanleitungen gibt. Und wenn der Code, den Du analysierst, noch andere Funktionen hat dann verstehe die halt auch!
http://www.ulrichradig.de/home/index.php/avr/mmc-sd Und nun nicht jammern, da sei viel zu viel aussenrum. Mag sein, dass da etwas rum ist, aber wenn man genau hinschaut findet man in der mmc.c die entsprechenden Funktionen. Und dieser Code ist gut dokumentiert. >Das Problem ist nur, ich finde keinen Fremden Code, in dem genau das >gemacht wird, was ich will. Genau darum geht's ja bei Hobby Elektronik: Etwas zu erschaffen, was es so noch nicht gibt und was genau so ist wie man es möchte. Wenn dir das zu kompliziert ist, solltest du dir n anderes Hobby suchen.
klar man kann später neue Sachen machen. Dazu müssen erstmal die Grundlagen klar sein. Erst DANN kann man neue Sachen machen. Nicht gleich neue Sachen machen, wenn man noch nicht mal die Grunlagen kennt. Bei dem Link von Troll Blaubär kapiere ich garnichts, das ist für mich nur eine Anreihung von Buchstaben und Zahlen. Den anderen schaue ich mir mal an, ich erhoffe mir, prägnant auf die Funktionsweise von SD Karten aufmerksam gemacht zu werden und eine tolle Erklärung zu finden, wie man von der Karte schreibt und liest, wie man sie an den Mega 8 anschließt und mit welchen Befehlen man was anrichtet. Mal schauen..
jochen wrote: > > Den anderen schaue ich mir mal an, ich erhoffe mir, prägnant auf die > Funktionsweise von SD Karten aufmerksam gemacht zu werden und eine tolle > Erklärung zu finden, wie man von der Karte schreibt und liest, wie man > sie an den Mega 8 anschließt und mit welchen Befehlen man was anrichtet. Viel Glück ... ... und willkommen in der realen Welt der Programmierung
jochen wrote:
> leider kein assembler ;(
Und nu?
psst. Ich verrate dir was: Wer zumindest die Grundzüge der
Programmierung verstanden hat, kann C ohne grosse Probleme
lesen. Nicht schreiben, dazu gehört mehr. Aber lesen ist
(bis auf ein paar syntaktische Feinheiten die sich um
<< >> += ++ und Konsorten drehen) kein Problem.
Hi Jochen, habe mal gegoogelt und habe sofort was Geeignetes zum Studieren gefunden: http://www.avrrepository.com/samplecode/sd_breakout/doc/files.html (Von Jesper) http://www.techdesign.be/projects/020/020.htm http://www.roland-riegel.de/sd-reader/doc/ und, und, und... Google mal nach: "MMC/SD Card Example Code" Da gibt es dann ueber 202000 Hits!;:-) Such einmal im Forum nach "MP3" oder "SD Karte". Dort findest Du den kompletten Source code zur SD-Kartenansteuerung. Sehe Dir mal den Source an. Dann experimentiere damit. Noch ein kleiner Ratschlag: Wenn Du im Internet fuendig werden willst, ist es wichtig es zuerst immer auf Englisch zu versuchen. Da findet man oft massenweise das Gesuchte. In Deutsch ist es manchmal viel schwieriger das Gesuchte gleich zu finden. (Bitte nicht schimpfen - ist nicht boese gemeint). Es gibt auch noch vorprogrammierte ICs wie der ALFAT oder Vinculum mit denen man SD Karten oder USB Memory Sticks ansteuern kann die einfache ASCII Kommnados verstehen. Interface durch SPI/I2C, oder UART. Ein mir bekannter Berufschueler hat sich mit dem Vinculum einen MP3 Spieler als Klassenarbeit damit erfolgreich gebaut. Hat zwar am Anfang jede Menge Probleme mit dem Vinculum gehabt, welche er durch hartnaeckiges Studieren und Versuche selber geloest hat und es funktionierte am Ende auch. Gruss, Gerhard
Jungs, mal ehrlich. Hättet ihr, als ihr noch nicht wusstet, wie man SD Karten ansteuert direkt, nachdem ihr http://www.mikrocontroller.net/attachment/25360/MP3_FINAL_1.1.txt gelesen habt alles verstanden und war dann alles klar? Ich behaupte mal, dass es für jemanden, der von SD Karten keine Ahnung hat nutzlos ist, sich http://www.mikrocontroller.net/attachment/25360/MP3_FINAL_1.1.txt anzsehen. Da wird doch reinweg garnichts klar. Oder wollt ihr mir sagen, nachdem ihr euch den Link angeschaut habt, wusstet ihr über SD Karten, deren Ansteuerung und Anschluss bescheid? Ich möchte ja nicht kritisieren. Es soll nicht böse aufgefasst werden. Aber ich erhoffe mir immer noch eine nette Erklärung.
woher soll ich z.B. wissen was .equ MMC_Write =PORTB ;//Port an der die MMC/SD-Karte angeschlossen ist also des SPI bedeutet und mit der SD Karte zu tun hat? Das ist eienr der ersten Zeilen. Ist euch mein Problem klar? So kann ich nicht lernen.
> Dazu müssen erstmal die Grundlagen klar sein Dann lern ebend erstmal die Grundlagen. Was fängst du auch gleich mit nem riessigen Projekt an? Lass n paar Leds leuchte, dann blinken und dann mit pwm schön gedimmt ansteuern. Und damit meine ich nicht, einfach fertigen Code von irgendwelchen Leuten zu nehmen, sondern sich den selbst zu erarbeiten. Wenn du in der Lage bist, Datenblätter zu lesen und zu verstehen, und genügend allgemeine Elektronikkentnisse hast, dann kannst du mit deinem mp3-player Projekt beginnen. >Den anderen schaue ich mir mal an, ich erhoffe mir, prägnant auf die >Funktionsweise von SD Karten aufmerksam gemacht zu werden und eine tolle >Erklärung zu finden, wie man von der Karte schreibt und liest, wie man >sie an den Mega 8 anschließt und mit welchen Befehlen man was anrichtet. Meinst du es gibt für jedes mögliche Bauteil ne Webseite, wo sich irgendjemand die Mühe gemacht hat, ne Super Erklärung dazu zu schreiben? Dann bist du etwas naiv. So läuft das nicht. Die Hersteller schreiben Datenblätter, da steht dann alles drin, und wer auch immer das Bauteil verwenden möchte entnimmt dem Datenblatt die Informationen, die er braucht.
jochen, erstmal würde ich versuchen, das Problem mittels google usw. selber zu lösen, anstatt hier zu fragen. Aber bei Dir scheint das ja umgekehrt zu sein.
@jamand, ich habe schon Leds zum lechten gebracht. Ich habe auch schon eine Uhr und ein funktionsfähiges Thermometer gemacht. So war das definitiv nicht gemeint. Ich bin nur auf dem Gebiet der SD Karten ein Neuling da muss ich doch nicht Leds zum blinken bringen lassen. Wenn jemand nicht weiß, wie man eine Autokupplung montiert, sagst du ja auch nicht: schau erstmal, wie man einen Nagel in die Wand schlägt. Was kann ich nun machen? Mit google komme ich nicht weiter. Mit den Programmcodes leider auch nicht. Mit dem Datenblatt auch nicht. Bei meinem Studium habe ich Magnetfelder und theoretische Elektrotechnik gelernt. Toll.
jochen wrote: > Jungs, mal ehrlich. Hättet ihr, als ihr noch nicht wusstet, wie man SD > Karten ansteuert direkt, nachdem ihr > > http://www.mikrocontroller.net/attachment/25360/MP3_FINAL_1.1.txt > > gelesen habt alles verstanden und war dann alles klar? Mit Sicherheit nicht. Aber dann kommt doch erst der ineterssante Teil: Das Programm durchlaufen lassen und rausfinden was es eigentlich macht. Danach im Web danach suchen warum es das macht. > Ich behaupte mal, dass es für jemanden, der von SD Karten keine Ahnung > hat nutzlos ist, sich Oh konträr. Man darf nur nicht mit der Erwartungshaltung: Ich lehn mich dann mal zurück und erwarte dass mir andere alles beibringen an die Dinge rangehen. Du hast wohl noch nie an deinem Fahrrad den Schlauch gewechselt ohne dass dir jemand eine Anleitung dazu geschrieben hat. Stell dir vor, die meisten Menschen können einen Fahrradschlauch wechseln, wenn man ihnen das Werkzeug gibt und ihnen sagt, dass damit die Decke von der Felge gehebelt wird. Mehr 'Anleitung' brauchen die nicht.
jochen wrote: > woher soll ich z.B. wissen > > was > > .equ MMC_Write =PORTB ;//Port an der die MMC/SD-Karte angeschlossen > ist also des SPI > > bedeutet und mit der SD Karte zu tun hat? Dir fehlt es an Grundlagen. Und zwar gewaltig. > > Das ist eienr der ersten Zeilen. > Ist euch mein Problem klar? So kann ich nicht lernen. Dann rate doch mal: Was wird .equ wohl heissen? Den Ausdruck PORTB hast du schon öfter gesehen. Der sollte klar sein. Und wenn dich der Kommentar ;//Port an der die MMC/SD-Karte angeschlossen ist also des SPI dann immer noch nicht auf die Spur bringt, dann ist wohl Hopfen und Malz verloren. .equ heist 'equate' also 'gleichsetzen' Hier wird wohl der Ausdruck MMC_Write mit PORTB gleichgesetzt, sodass man in weiterer Folge anstelle von PORTB auch MMC_Write schreiben kann. Vorteil: Wenn der µC gewechselt wird, dann wird die SD Karte möglicherweise an einem anderen µC Port angeschlossen, zb PORTC. Dann braucht man nur diese eine Zeile ändern, und alles ist wieder in Butter .equ MMC_Write = PORTC ;//Port an der die MMC/SD-Karte angeschlossen ist also des SPI > So kann ich nicht lernen. Da frag ich mich schon, wie du jemals durchs Studium kommen willst.
jochen wrote: > @jamand, > > ich habe schon Leds zum lechten gebracht. Ich habe auch schon eine Uhr > und ein funktionsfähiges Thermometer gemacht. So war das definitiv nicht > gemeint. Ich bin nur auf dem Gebiet der SD Karten ein Neuling da muss > ich doch nicht Leds zum blinken bringen lassen. Wenn jemand nicht weiß, > wie man eine Autokupplung montiert, sagst du ja auch nicht: schau > erstmal, wie man einen Nagel in die Wand schlägt. Nein. ABer ich rate ihm erstmal testweise ein paar andere Schrauben mit einem Gabelschlüssel anzuziehen, wenn er die Kupplung mit dem Lötkolben an der Stossstange anlöten will.
<sprachnörgelmodus> "Oh konträr." Brr! "Au contraire!" </sprachnörgelmodus> @Jochen: > Bei dem Link von Troll Blaubär kapiere ich garnichts, das > ist für mich nur eine Anreihung von Buchstaben und Zahlen. So sieht nunmal ein Assemblerquelltext aus. Schriebest Du nicht, daß Du genau so etwas willst?
> Wenn jemand nicht weiß,wie man eine Autokupplung montiert, sagst du > ja auch nicht: schau erstmal, wie man einen Nagel in die Wand schlägt. Wenn mir aus seiner Fragestellung klar wird, dass er nicht in der Lage ist einen Hammer zu bedienen schon. >Ich bin nur auf dem Gebiet der SD Karten ein Neuling Mag sein. Viel entscheidender ist aber: Du bist auf dem Gebiet des eigenständigen Arbeitens ein Neuling. Ich hab zwar die Threads von dir nicht alle gelesen, nehme aber an, dass das Thremometer und die Uhr auf ähnliche Weise entstanden sind, wie du es nun hier versuchst. Nur ist das hier eben etwas komplexer, mit 'Erklärt mir mal wie ne SD-Karte funktioniert' iss hier nicht.
Es gibt auf der Web irgendwo eine Abhandlung in Englisch wo die Methoden und Theorie der SD-Kartenansteuerung, FAT Filesystem und alles andere Relevantes im Detail beschrieben ist. Leider kann ich mich nicht mehr errinnern wo ich das gesehen habe. Habe es vor einem Jahr zufaellig beim Googlestoebern gefunden. Jochen, es geht hier nicht nur darum um wie man SD KArten ansteuert sondern auch dass man sich auch im Detail mit dem Microsoft FAT File System auskennt, dass man sich genau auskennt wie die Dateien ueberhaupt auf der Karte gespeichert sind, Dinge wie Boot Sector, File allocation tables, Directory Tables, u.v.a. Assembler ist meiner Meinung nach total ungeeignet zum besseren Verstaendnis solcher Projekte. In C hat man wenigstens eine Chance die Algorithm besser zu verstehen. http://en.wikipedia.org/wiki/File_Allocation_Table#Directory_table Diejenigen, die groszuegigerweise ihre Sourcen auf der Web publizieren haben sich das Alles oft selber in harter Arbeit aneignen muessen und das Web nach allen Moeglichen absuchen muessen. Das soltte man unbedingt anerkennen! Edison hat mal gesagt: "Genius is one percent inspiration and ninety-nine percent perspiration." In anderen Worten: Erfolg ist 99% harte Arbeit und der Rest ist Studieren und Lernen. Und wenn man nach viel harter Arbeit spaeter Erfolg mit dem Projekt hat ist das ein ganz unbeschreiblichliches Gefuehl wenn es dann endlich funktioniert und man versteht wie es funktioniert. Ich kann mir vorstellen, dass damals wie der PC noch jung war, die Ingeneure warscheinlich auch ganz schoen geschwitzt haben, um das MSDOS File System im Detail zu verstehen. Und damals gab es kein Internet wo man heutzutage so viel finden kann. Die noetigen Dokumente haben damals ein Vermoegen gekostet. Als Hobbyist konnte man das glatt vergessen solche Information zu bekommen. Gruss, Gerhard
Jochen, sehe Dir mal diese Seite an: http://www.myplace.nu/mp3/ da werden warscheinlich viele Deiner Fragen beantwortet werden koennen.
Hier findest Du auch vieles Nuetzliches: http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2007/cd247_maw72/cd247_maw72/index.html
jochen wrote:
> Ich komme leider nicht weiter. Kann es mir jemand erklären?
Dieses Projekt ist ganz offensichtlich noch mindestens
4 Nummern zu gross für dich. Das ist keine Schande sondern
ganz normal im Entwicklungsprozess jedes Programmierers.
Ich denke nicht, dass du jemanden finden wirst, der dich da
durchspricht. Das wäre so, als ob man einem Taferlklassler
der grade mal Arithmetik im Zahlenraum bis 100 gelernt hat,
in Differentialgleichungen hineinjagt. Der versteht auch nur
Bahnhof. (Wie, was ist eine Gleichung? Wie, die kann man lösen? Was
soll das x denn da? Was ist ein Quadrat?)
Such dir ein anderes nächstes Projekt.
Das Projekt als Fernziel ist schon OK, ober die zu backenden Brötchen sollten viel kleiner werden. Schau dir ml die SPI-Schnittstelle an, was ist das wie funktioniert sie und wie programmiert man sie. Außer schau dir mal C an das würde einem Anfänger das Leben leichter machen.
Martin, danke für dein erstes Stichwort. Ich werde diese Schnittstelle erarbeiten und wenn ich sie kenne melde ich mich in ein paar Tagen noch einmal. Riesigen DanK!
f(x) = 1/x. Paradox wrote: > okay, ISP ist nur klar. Nööö, ist nicht klar! > > WIe speichere ich damit auf eine SD Karte? Mit ISP??? Gar nicht. Höchstens mit SPI. ISP und SPI sind Zweierlei, obwohl sie auf einigen (aber nicht allen) AVRs die gleichen Pins benutzen und das gleiche Grundprotokoll fahren. Wie man auf die SD-Card speichert, weiß Dein Cardreader am PC. Das braucht Dein Player nicht zu wissen, es reicht, wenn er die Karte lesen kann, denn er soll ja nicht aufnehmen, sondern wiedergeben. Da ich kein Unmensch bin (auch wenn's so aussieht), hänge ich Dir mal das Datenblatt einer SD-Card an. Dort kannst Du exakt nachlesen, wie man (auch im SPI-Mode) auf die Karte zugreift. Beachte dabei bitte, dass der SPI-Mode nicht die Hauptbetriebsart ist, sondern nur eine Art Notbetrieb zum Zwecke der Kompatiblität. MfG, Blaubär
danke für die Bereitschaft der Unterstützung. Ich finde da allerdings nichts zu. Auf welcher Seite steht das da?
Jochen wrote: > danke für die Bereitschaft der Unterstützung. > Ich finde da allerdings nichts zu. Auf welcher Seite steht das da? Kapitel 1.5.10, Kapitel 3.3 und Kapitel 5 MfG, Blaubär
"...habe ich vor einigen Wochen einen guten Start in Sachen uC gebahabt." Lach Na das kann ja noch was geben, hier... ^^ Man man.
also mein Wissen zu diesem Bus habe ich von http://carbussystems.com/pdfs/SPI.pdf ich hoffe, das reicht.
Sorry, aber ich verstehe von diesem Datenblatte echt nur Bahnhof. Könntet Ihr das denn nicht in eigenen Worten sagen?
Ich bin sehr lernwillig und möchte das allzu gerne verstehen. Deswegen bitte ich euch freundlichst, mir das zu zeigen. Datenblätter und Herstellerinfos sind mir allerdings zu hoch, alleine sschon bei den einfachen Ics (Gatter) habe ich anchfragen müssen.
>Datenblätter und Herstellerinfos sind mir allerdings zu hoch, alleine >sschon bei den einfachen Ics (Gatter) habe ich anchfragen müssen. Wenn das wirklich der Fall ist, kannst Du zum jetzigen Zeitpunkt keinen mp3-player bauen. Ganz einfach, das Projekt ist 4-5 Nummern zu groß, aber das wurde Dir ja schon mehrfach gesagt.
>Könntet Ihr das denn nicht in eigenen Worten sagen? Könnten wir. Machen wir aber nicht. >Datenblätter und Herstellerinfos sind mir allerdings zu hoch, alleine >sschon bei den einfachen Ics (Gatter) habe ich anchfragen müssen. Dann solltest du eben mit selbigen einfachen ICs anfangen, und nicht gleich mit SD Karten. Wie oben bereits gesagt. Es ist ja schön, dass du schon ne Uhr und n Thermometer gebaut hast, aber erst wenn du das alleine schaffst, ohne immer hier im Forum, oder sonstwo zu fragen, kannst du ein so grosses Projekt wie SD-Karten Ansteuerung beginnen. Falls dir das zu viel Aufwand ist, solltest du dir n anderes Hobby suchen. Es gibt genug Dinge bei denen man nicht intelligent sein muss...
Ja, und genau deswege fange ich mit dem Speichern auf SD Karten an und habe nach den Infos zum SPI Bus gefragt, d.h. wie bekomme ich es hin, Daten aus der Karte mit meinem MEGA 8 auszulesen.
@jamand: Ich habe die Uhr bis ins letzte Detail verstanden und wäre jetzt jederzeit in der Lage, sie nachzubilden. Nur habe ich da noch nicht die Kenntnisse gehabt und habe sie anhand des Projektes gelernt. Unwissenheit ungleich unintelligenz !!!
Ich finde es wirklich sehr nett, wenn ihr mir helft. Allerdings finde ich es genauso unverschämt, wenn ihr stört und somit die Leute, die mir helfen wollen und mich bemüllt (Spam).
>Ich habe die Uhr bis ins letzte Detail verstanden und wäre jetzt >jederzeit in der Lage, sie nachzubilden. Darum geht es nicht. >Nur habe ich da noch nicht die >Kenntnisse gehabt und habe sie anhand des Projektes gelernt. Es geht darum, dass du selbst in der Lage seien solltest dir die Kenntnisse anzueigenen. Dann kannst du deinen Ansatz ausprobieren, und wenn der nicht fuktioniert, dann erst solltest du hier im Forum fragen. Und das hat dann wirklich was mit Intellekt zu tun, wenn man das nicht begreifen kann.
Da meine Frage im sinnlosen Gequatsche untergegangen ist, hier nochmal meine Bitte, vom oben, hervorgehoben. Ich frage herzlichst: "wie bekomme ich es hin, Daten aus der Karte mit meinem MEGA 8 auszulesen."
Starte wegeb mir bei "offtopic" einen Post dazu, dann kann ich dich überzeugen, dass es was mit Unwissenheit zu tun hat. Aber hier meine Bitte: Störe nicht!
Gut, wenn Du jetzt mit dem SPI klar kommst, dann geht 's mal gleich weiter mit der Beschäftigung mit dem FAT-Dateisystem (oder welches auch immer Du nehmen willst). Denn sonst hat Dein armer Controller keine Ahnung, welche Blöcke der Karte er lesen muss. Ganz im Ernst, wenn Du versuchst, ohne Dateisystemkenntniss auf Daten zuzugreifen, erleidest Du Schiffbruch. Dann kannst Du nicht sagen, ob das was gelesen wurde auch tatsächlich von der Karte kommt. OK, du kannst Dir auch ein Image der Karte ziehen und dann Vergleiche in Hexeditor heranziehen, aber um das Dateisystem kommst Du eh nicht herum. Was die Anleitungen betrifft, das Material was Du jetzt hast ist schon richtig gut und Vollständig. Bessere wirst Du nicht finden und das Thema ist so groß und weiträumig, dass Dir hier ohne konkrete Fragen niemand Antworten geben kann.
Jochen wrote: > Da meine Frage im sinnlosen Gequatsche untergegangen ist, hier nochmal > meine Bitte, vom oben, hervorgehoben. > Ich frage herzlichst: > > "wie bekomme ich es hin, > Daten aus der Karte mit meinem MEGA 8 auszulesen." Vermutlich gar nicht, da der Mega8 vermutlich zuwenig RAM für FAT hat. Ansonsten wird Dir die Analyse des Quelltextes von fubu1000 weiterhelfen können, denn jetzt, wo Du (angeblich) SPI verstanden hast, ist Deine Chance, den Quelltext zu verstehen, geringfügig größer geworden. > Ich habe die Uhr bis ins letzte Detail verstanden und wäre jetzt > jederzeit in der Lage, sie nachzubilden. Nur habe ich da noch nicht die > Kenntnisse gehabt und habe sie anhand des Projektes gelernt. Das nehme ich Dir nicht ab. Denn Du betreibst die 7-Segment-Anzeigen immernoch mit einem Chip, der dazu ungeeignet ist, siehe Einwand von Peter Dannegger. Du bildest Dir zwar ein, Du hättest Multiplex der Anzeige verstanden, hast es aber nicht. Ich glaube, Dir fehlt etwas, was man nicht lernen kann. Nämlich die Gabe, Informationen verschiedener Quellen zu analysieren und Dir daraus dein eigenes Bild zu machen. Wenn Du Wissenslücken hast (die haben wir alle!), dann sieh zu, dass Du sie im Selbststudium mit Wissen füllst. Aber ich schätze, Dir fehlt nicht nur Wissen, sondern die Fähigkeit, verschiedene Informationen zu verknüpfen und daraus eigene Schlüsse zu ziehen. Das könnte man mit Intelligenz bezeichnen. Aber das ist eine Gabe (Begabung), das kann man nicht erzwingen, das ist wie die Begabung zur Musik, Malerei oder anderen kreativen Sparten im künstlerischen Bereich, wenn das gewisse Gen fehlt, dann hat die beste Ausbildung keinen Zweck. MfG, Blaubär.
@Sebas Tian Ich danke die für das weitere Stichwort. Ich werde umgehend die Kenntnisse dort erarbeiten und mich dann wieder melden! @Troll Blaubär Hast du meine Postings gelesen, in denen ich gebeten habe, nicht zu spammen? Du nervst wieder! Weder trifft es zu du, dass mir die Fähigkeit, Informationen verschiedener Quellen zu analysieren fehlt, noch trifft es zu, dass mir die Fähigkeit verschiendene Informationen zu verknüpfen fehlt, noch trifft es zu, dass ich für diese Projekte ungeeignet bin, erst recht nicht aus Gründen mangelnder Intelligenz. Ich bin in dem Thema Frischling und habe vor 2 Monaten nicht mal gewusst, was ein Byte ist. Da ist es völlig normal, dass ich jetzt nicht anfange, Datenblätter wie einen spannenden Roman zu lesen. Es wird hier selber gesagt, das Thema ist sehr breitbandig. Da ist es doch klar, wenn man neu reinkommt und noch nicht die nötige Erfahrung (ja, das sollte dein Stichwort sein und nicht Intelligenz!) hat, dass man dann in einem Dschungel steht, und nicht weiß, wo man ansetzen soll. Ich denke und bin mir fast schon sicher, dass du anfänglich ähnliche Probleme hattest und es sehr schwer war, sich da durchzubeißen. Wenn mir die Fähigkeit, wie du schreibst, tatsächlich fehlen würde, wäre ich nicht da, wo ich studienmäßig stehe. Ich brauche mir hier in einem Forum soetwas nicht sagen zu lassen, ich denke Intelligenz und das ganze, was du sonst noch schreibst, zeigt sich an anderen Stellen und nicht darin, dass man nicht weiß, wie man einen Mp3 Player baut (und mangelde Englsichkentnisse hat aber fast alles auf Englisch ist)! Danke nochmal an alle, die mir ernsthaft helfen möchten
Nach dem du SPI verstanden hast, spiel damit etwas rum, und schließe erst einmal einen anderen SPI-Chip (nicht die SD-Karte) an deinen AVR an. z.B. einen EEPROM oder einen Portextender. Danach legst du deinen AVR vorrübergehend in die Ecke und schaust dir am PC deine SD-Karte an. Stichwort FAT-Dateisystem. Ließ mit deinem PC also die Sektoren aus, und schau dir den Inhalt an. Als nächstest kannst du probieren, die SD-Karte mit deinem AVR zu inizialisieren.
Martin, welchen Chip meinst du genau? Wie kann ich denn am PC Sektoren der SD Karte auslesen? bis dann
und diesen Flash, den ich mir bestellen soll, kann ich dann ohne Dateisystem beschreiben? Welchen würdest du empfehlen? Hast du gleich noch die Empfehlung einer passenden SD Karte + Anschlussmöglichkeit an den Mega 8 oder sonst noch nützliche Sachen, die ich mitbestellen kann?
> und diesen Flash, den ich mir bestellen soll, kann ich dann ohne > Dateisystem beschreiben? ja. > Hast du gleich noch die Empfehlung einer passenden SD Karte + Ist egal. > Anschlussmöglichkeit an den Mega 8 oder sonst noch nützliche Sachen, die > ich mitbestellen kann? Schau dir die unzähligen Projekte im Netz an.
Bor ich glaub das Fat ist zu kompliziert, ist das NTFS einfacher? Also ich habe mal einen USB Stick mit WinHex gehöffnet und sehe nur lauter Zahlen und Buchstaben. Wo finde ich denn jetzt diese Dateizuordnungstabelle, in der steht, wo was gespeichert ist?
Jochen wrote: > Bor ich glaub das Fat ist zu kompliziert, Das versuchen wir Dir die ganze Zeit schon zu sagen, aber Du hältst ja alles, was Dir nicht in den Kram passt, für Spam und Belästigung. > ist das NTFS einfacher? NTFS macht erst bei seeeeehhhr großen Dateien Sinn, z.B. bei Videos. Außerdem nutzt kaum ein MP3-Player NTFS. > > Also ich habe mal einen USB Stick mit WinHex gehöffnet USB-Stick ist nicht so gut, SD-Card wäre besser, denn Du willst ja mit Deinem Mega8-MP3-Player keinen USB-Stick ansteuern sondern eine SD-Card, oder? > und sehe nur > lauter Zahlen und Buchstaben. Ja was erwartest Du denn von einem Hexeditor sonst außer Hexzahlen und ASCII-Zeichen??? Ein Hexeditor zeigt Dir den Speicherinhalt als Hexzahl an. Und als Zugabe zeigen viele Hexeditoren (und Hex-Betrachter) in einer weiteren Spalte den Speicherinhalt im ASCII-Format an. So kann der Mensch, der vor dem Rechner sitzt, schnell erkennen, ob es sich um Binärdaten oder Text handelt. Die Auswertung der (hex angezeigten) Binärdaten obliegt dem Betrachter (dem Mensch vor dem Computer). Er muss wissen, welche Bytes welche Bedeutung haben. Dateien (und damit Bytes in Sektoren) werden meist von Programmen (z.B. Betriebssystemen) geschrieben und gelesen. Dabei wenden sie gewisse Algorithmen an, z.B. FAT12/16/32. Darüber, ob FAT die beste und übersichtlichste Methode zum Verwalten von Daten ist, lässt sich trefflich streiten. Unbestritten ist jedoch die Tatsache, dass sich FAT als Standard durchgesetzt hat und wir wohl oder übel damit leben müssen. > Wo finde ich denn jetzt diese Dateizuordnungstabelle, in der steht, wo > was gespeichert ist? Dazu musst Du den Inhalt der Sektoren analysieren. Eine Liste, welche Bedeutung die Bytes an den bestimmten Positionen innerhalb des Sektors haben, findest Du z.B. hier: http://de.wikipedia.org/wiki/Fat16 MfG, Blaubär
> ist das NTFS einfacher?
Nein, es ist viel komplexer, und die Informationen sind nicht frei
Verfügbar. (Teoretisch müsste man auf für die Nutzung von FAT
Lizenzgebühren bezahlen.)
Hallo, danke blaubär, danke Martin. Auch, wenn es kompliziert ist, würde ich es gerne verstehen. Ich habe momentan nur einen USB Stick zur Hand. Dort habe ich eine Datei Namens "Hallo.txt" angelegt, die den Inhalt "1" hat. Sowohl den Namen "Hallo" (wie stellt man in Hex Dateinamen da?") als auch den Inhalt "1" würde ich nun gerne mit dem Programm Winhex erkennen. Ich habe im Anhang das, was ich in Winhex angezeigt bekomme. Ich verstehe nicht, wie ich das jetzt da heraus filtere, könnt ihr mir das sagen? Anlage: Winhexausschnitt
Das Programm zeigt ja an, dass die Datei ab Sektor 504 beginnt. Wie kann ich das aber selber manuell auslesen und wo steht nun der Dateiname "hallo.txt"
Was Du gefunden hast, ist der Bootsektor. http://de.wikipedia.org/wiki/Fat16#Bootsektor Dein Directory-Eintrag befindet sich aber nicht im Bootsektor, sondern im Stammverzeichnis. http://de.wikipedia.org/wiki/Fat16#Stammverzeichnis Du musst also erst ermitteln, wo Dein Stammverzeichnis liegt. MfG, BlauBär
> wie stellt man in Hex Dateinamen da?
Bevor du du irgend etwas mit µC weiter machst, solltest du ersteinal
Hex, Bin und Dezimal in und auswendig kennen bzw. begreifen.
Martin wrote: >> wie stellt man in Hex Dateinamen da? > > Bevor du du irgend etwas mit µC weiter machst, solltest du ersteinal > Hex, Bin und Dezimal in und auswendig kennen bzw. begreifen. Verlangst Du da nicht etwas zuviel? MfG, BärBlau, ganz schnell (mit Schweif) verschwindend...
Ich weiß ja wie ich in Hex/Bin/Dez rechne. Aber nur nicht, wie man damit Text (Dateinamen) darstellen kann. Wie geht das denn?
ein Stichwort würde mir ja reichen, aber ich weiß nicht, wonach ich suchen soll. "Dateinamendarstellung in Hexadezimal" liefert keine brauchbaren Ergebisse in google
könntet ihr mir das nicht bitte mal zusammenhängend erläutern? Hier die Frage nochmal: Das Programm zeigt ja an, dass die Datei ab Sektor 504 beginnt. Wie kann ich das aber selber manuell auslesen und wo steht nun der Dateiname "hallo.txt" Ich danke
http://www.cc5x.de/MMC/FAT.html Schau mal bei Verzeichniseinträge Von microsoft gibt es ein dokument wo FAT12/16/32 beschrieben wird, das ist echt super da steht alles drin was du wissen musst... aber naja, wird DIR wohl auch nicht weiter helfen. http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx Hier nochmal als PDF: http://alpha1.dyns.net/files/FS/FAT%20Specs%201.03.pdf
> Das Programm zeigt ja an, dass die Datei ab Sektor 504 beginnt. > Wie kann ich das aber selber manuell auslesen Indem Du bei Sektor 504 liest? > und wo steht nun der Dateiname "hallo.txt" "Access" -> "Rootdirectory (template)" So isses zumindest bei meiner alten WinHex Version. Aber jetzt mal echt im Ernst: Du kannst hier nicht erwarten, dass Dir hier alles an Grundlagen beigebracht wird. Ich habe zwar auch schon die eine oder andere Frage gestellt (und beantwortet bekommen), aber man fragt erst, wenn man wirklich an einem speziellen Problem hängt. Für so allgemeine Sachen, wie "erlär mir mal jemand SPI, SD-Karte, FAT, Textdarstellung in Hex.." wirst Du schon selbst recherchieren müssen. Es gibt dazu übrigens auch tausende von Abhandlungen in Deutsch. Ein Anfang wäre z.B. http://de.wikipedia.org/wiki/File_Allocation_Table Es ist mir unverständlich, wie jemand in der heutigen Zeit noch einen Mangel an Informationen beklagen kann (Kopfschüttel). Als ich meine ersten Elektronikprojekte 1982 begann, gabs kein Internet. Nur (sauteuere) Bücher und jedes Jahr mal eine Bastlermesse irgendwo. Wer hätte einem da FAT erklären sollen? Und es ging irgendwie trotzdem. Computer wurden schließlich auch ohne Internet erfunden. Also nicht rumheulen, wenn nicht gleich alles "saugfertig" vorgekaut wird. Joachim
Wieso benutzt du nicht die angegebenen Links? da steht doch alles drin. Ist wie bei einer 7-Segment Anzeige. Du kannst auf Sie einreden, streicheln, anschreien, Sie wird dir aber nur eine Zahl anzeigen wenn du an den richtigen Pins ne Spannung anlegst. Wo man Spannung anlegen muss um bestimmte Zahlen darzustellen, bestimmen Bitmuster. Das gleiche macht der PC. Er kann auch nur 0/1. Für alles andere braucht man Codierungen. So den ASCII. Kennst du http://de.wikipedia.org/wiki/EVA-Prinzip Wenn nicht, kann man das nur empfehlen. Du solltest die Computer erstmal sein lassen, Mikrocontrolller usw. auch und mit den Grundlagen anfangen. Sowas steht meist Büchern. http://www.wasistwas.de/shop/was_ist_was_band_024_elektrizit%E4t-p-27.html http://www.wasistwas.de/shop/band-computer-roboter-p-38.html Falls du die verstanden hast, könnte: http://de.wikipedia.org/wiki/Computer ganz hilfreich sein. http://www.elektronik-kompendium.de/sites/grd/index.htm http://www.elektronik-kompendium.de/sites/dig/index.htm Wenn du das dann verstanden hast, wird dir sicher auffallen, das es relativ einfach ist. Man schaut einfach in die Spec. und da steht was man wissen will.
Also die Infos von Microsoft kapier ich garnicht. Ich habe mit http://www.cc5x.de/MMC/FAT.html angefangen. Und zwar ab diesem schönen bunten Bildchen. Mir kommen da ein paar Fragen auf: wieso heißt 50 = 5h? Wieso wird die 0 zu einem h? Wo finde ich diese Tabelle in WinHex?
@COndi, die Grundlagen der Elektrotechnik sind mir bescheinigt sehr bekannt, darum geht es doch nicht. Ich will nicht wissen, wie el. Felder aufgebaut sind, das weiß ich schon bis in letzte Deteil (bescheinigt). Ich will wissen, wie ich die Dateien ind er Fat finde ^^
>>wieso heißt 50 = 5h? >>Wieso wird die 0 zu einem h? Also doch keine Ahnung !!! Wenn Du da nicht Durchblickst (und nicht richtig lesen kannst), dann brauchst Du Dich wirklich nicht weiter um das FAT Dateisystem zu kümmern !
@Jochen Naja, wo liegt dann das Problem? Du musst doch nur die Grundlagen anwenden die du ja schon kennst. Oder kennst du Sie doch nicht, weil dir jeder hier rät die Grundlagen zu lernen? http://de.wikipedia.org/wiki/Byte-Reihenfolge
Ach das ist übrigens in dem Buch gut erklärt was ich dir als erstes geraten haben.
@Jochen: Ich weiss nicht, ob es einen Sinn hat, das nochmal zu sagen, aber ich schreib's jetzt mal trotzdem: Schieb' die Idee mit dem MP3-Player erstmal in eine (weit entfernte) Schublade. Ich bin sicher, dass du hier mit Informationen durchgefüttert werden könntest, dass du am Ende einen MP3-Player vor dir stehen hättest, doch du würdest kaum mehr verstehen als jetzt. Es geht nicht um Intelligenz oder etwas dieser Art, sondern es geht um Eigeninitiative. Und die beschränkt sich nicht darauf, im Forum möglichst häufig zu fragen. Du schriebst, dass du vor relativ kurzer Zeit (Zwei Monate?) noch nicht wusstest was überhaupt ein Byte ist. Denkst du tatsächlich, dass man eine derart steile Lernkurve haben kann um in dieser Zeit verstehen zu lernen, wie ein MP3-Player oder ein Gebilde ähnlicher Komplexität funktioniert? Du hast ebenfalls geschrieben, dass du die Grundlagen der Elektrotechnik verstehst (Bescheinigt wie du mehrmals betontest), doch wie du nun erkannt haben solltest, hat es damit eben gar nicht mal so viel zu tun. Falls du es tatsächlich verstanden hast, dann wird dir das in Zukunft bestimmt helfen (Wenn du erstmal komplexere Hardware erstellen musst, bei der eben mehr als 0 = 0V, 1 = 5V gilt), doch im Moment geht es darum, die Hardware kennenzulernen, die du hast. Also besonders den AVR. Versuche doch als nächsten Schritt erstmal, z.B. deine Uhr mit einem DCF-Empfänger auszurüsten. Wenn du dabei etwas lernen willst, dann machst du hier nicht einen neuen Thread der Form "Wie schliesse ich einen DCF-Empfänger an meinen AVR an" auf, sondern wühlst dich durch die unzähligen Projekte und Dokumentationen, die du ohne Mühe finden solltest. Hast du das ohne viel fremde Hilfe geschafft, solltest du erkannt haben, wie der Hase läuft. Es läuft schlussendlich eben doch auf Arbeit hinaus, auch wenn es nur ein Hobby ist. Ausserdem wird es nicht in zwei Tagen fertig sein, wundere dich nicht, wenn es Monate dauert, bis das alles korrekt funktioniert. Achja: Und hör' bitte auf, die zu beschimpfen, die dir helfen möchten.
>>wieso heißt 50 = 5h? >>Wieso wird die 0 zu einem h? einen bitcode kennst du ?? umwandlung HEX in Dezimal 0= 0000 1= 0001 2= 0010 3= 0011 4= 0100 5= 0101 6= 0110 7= 0111 8= 1000 9= 1001 A= 1010 B= 1011 C= 1100 D= 1101 E= 1110 F= 1111 jeder buchstabe und jede zahl ist in bits geschrieben sehr unübersichtlich also codierung .---> ASCII codes also irgendwo steht hallo.txt und deine 1 irgendwo in hexadezimaler form ..in dem HEXfile nur eben jedes zeichen als HEX einem AVR einfach sagen .. lade hallo.txt von den portpins 1,2,3 ist nicht wenn du es so haben willst must du eben funktionen schreiben die genau das tun jedes einzelne bit von der SD karte lesen und in einem speicher zusammensetzen das passiert genau so bei jeglicher art von speichermedien und der digitalen verarbeitung alles , egal was du machst sind nur nullen und einsen deswegen must du auch das hintergrundwissen besitzen um sowas eben steuern zu können du könntest sicherlich deine uhr nochmal aufbauen ... wenn jetzt jemand kommt und etwas ändert ... bist du glaube wieder am anfang ist nicht bös gemeint ... ich stell mich sehr oft auch auf eine dieser tiefen stufen .. aber meist setz ich mich dann hin und versuch ertsmal das hintergrundwissen dazu zu verstehen
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.