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
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?
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?
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?)
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?
> 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.htmhttp://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 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
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
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.
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"
> 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...
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
> 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
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
@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