Wer hat ein Beispiel ? mfg Karl
... und hat man eine Chance,daran zu kommen? Wenn ja, wie ? mfg Karl
Die Details des COdes hängen ja wohl mehr als alles andere von den Details der Hardware Anbindung ab. Ein Countdown ist doch wohl ziemlicher Pipifax. Woran scheitert es denn im Detail?
1 | ....
|
2 | |
3 | int main() |
4 | {
|
5 | uint8_t Sekunden; |
6 | |
7 | lcd_init(); |
8 | Sekunden = 20; |
9 | |
10 | while( 1 ) |
11 | {
|
12 | if( Sekunden > 0 ) |
13 | {
|
14 | Sekunden--; |
15 | lcd_int( Sekunden ); |
16 | _delay_ms( 1000 ); |
17 | }
|
18 | }
|
19 | }
|
im einfachsten Fall ist das ein Countdown-Zähler, der einen 20 Sekunden Countdown realisiert. WO war da jetzt das Problem? (das man das in der Realität anders, nämlich mit einem Timer, macht und auch jegliche Form der Benutzersteuerung fehlt, ist auch klar. Aber danach hast du ja nicht gefragt. Du willst ja eine 'Ich hab keine Ahnung und will mir auch keine Gedanken machen' - Lösung. Und das spielts hier im Forum nun mal nicht. Wenn du konkrete Fragen hast - gerne. Aber Rundumschlag-Antworten auf eher triviale Fragen - nö.)
Ein Countdown ist einfach nur eine Variable die rückwärts von einer bestimmten Zahl bis auf 0 herunter gezählt wird. That's it. Das ist ein Countdown. Alles andere drumherum ist zwar nett, aber für einen Countdown nicht zwingend erforderlich. Also: mach deine Hausaufgaben selber.
Welche Hausaufgaben soll ich machen? ... diese geistreichen Kommentare,noch dazu von einem Mod .... ich hab ganz einfach nach einem Beispiel in asm gefragt, verar..... kann ich mich selbst ! mfg Karl
Karl Tomacek schrieb: > ich hab ganz einfach nach einem Beispiel in asm gefragt, verar..... kann > ich mich selbst ! Dann guck doch mal ins AVR Tutorial. Dort wird z.B. eine LCD Uhr erklärt. Mit nur ein wenig Kreativität lässt sich das auch entsprechend umbauen.
>ich hab ganz einfach nach einem Beispiel in asm gefragt, verar..... kann >ich mich selbst ! Nein hast du nicht. Sieh dir deine erste Frage noch mal an. Keine Angabe in welcher Programmiersprache du das haben wolltest. Und jetzt verpiss dich du Troll!
Karl Tomacek schrieb: > Welche Hausaufgaben soll ich machen? > > ... diese geistreichen Kommentare,noch dazu von einem Mod .... Und als Mod gehört es auch zu meinen Aufgaben darauf zu achten, dass dieses Forum nicht zu einem Wunschkonzert verkommt, sondern das bleibt als was es gedacht ist: Das Forum hilft bei Programmierproblemen aus, versteht sich aber nicht als kostenloses Ingenieursbüro. Als Faustregel: du legst Code vor und das Forum hilft dir bei Problem. Wenn dir das nicht passt: Es steht dir frei, dein Glück woanders zu versuchen.
... diese Uhr aus dem Tut hab ich nur mit sehr viel Mühe überhaupt zum Laufen bekommen. ; **************************************************************** ; * Uhr mit 2-Zeilen-LCD-Anzeige fuer STK500 mit Timer/Counter 1 * ; Anschluss der LCD ueber 4-Bit-Kabel an Port des STK500 es wurde behauptet, dass sie mit dem Displaytech 162 nicht läuft ! Ich kann den Gegenbeweis antreten ! Nur kann man sie nicht einstellen ! ( es müsste jedesmal der Prozessor neu programmiert werden,da das STK keine Echtzeituhr hat.) mfg Karl
Karl Tomacek schrieb: > es wurde behauptet, dass sie mit dem Displaytech 162 nicht läuft ! > > Ich kann den Gegenbeweis antreten ! Schön. > Nur kann man sie nicht einstellen ! ( es müsste jedesmal der Prozessor > neu programmiert werden,da das STK keine Echtzeituhr hat.) Ja. Das nennt man dann 'programmieren' bzw. 'ein Programm entwickeln'. Das Tutorial konzentriert sich in jedem Abschnitt auf einen bestimmten Problemkreis. Die Programme sind gerade soweit vollständig, dass man die besprochene Funktionalität in Aktion sehen kann. Daraus (und aus der Kombination verschiedener Techiken aus dem Tutorial) dann komplette, einsetzbare Programme zu machen, ist als Aufgabe für den Lernenden offen gelassen. Und zwar bewusst offen gelassen, da jeder andere Ansprüche bzw. Anforderungen bzw. Vorstellungen davon hat, wie die Dinge konkret aussehen sollen.
@ holger (Gast) wen meinst du mit Troll, du Koffer ! ... dann melde dich wenigstens an, und poste nicht als Gast !
Die Qualität der Postrings hängt ganz und gar nicht mit einer Anmeldung zusammen. Was wieder mal bewiesen wäre.
>@ holger (Gast) > >wen meinst du mit Troll, du Koffer ! Dich natürlich. Lern erst mal Fragen zu stellen. Details sind ganz wichtig! Z.B. nur Antworten mit Assemblercode. Dann bekommst du auch Antworten die zu deinen Fragen passen. >... dann melde dich wenigstens an, und poste nicht als Gast ! Nö;)
Was ist denn das ? : in assembler , denn c geht bei mir nicht
Karl Tomacek schrieb: > Nur kann man sie nicht einstellen ! Dazu rückt man erstmal die PC Tastatur bei Seite, nimmt sich Stift und Papier und überlegt sich eine Bedienfolge, wie das gehen könnte. Z.B., wieviel Tasten man verwenden möchte und dann, welche Funktion jede Taste haben soll. Und dann den Ablaufplan. Das Coden kommt dann viel später, wenn der Ablaufplan auf dem Papier fehlerfrei läuft. Man könnte dazu auch sagen, man erstellt zuerst mal das Pflichtenheft. Peter
Karl Tomacek schrieb: > in assembler ? denn c geht bei mir nicht Dein Pech. Niemand benutzt heutzutage noch Assembler, wenn es nicht unbedingt sein muss. Und nein, bei deinem Problem muss es nicht sein.
... dann sag das mal jemandem,der Midi bzw DMX programmiert ! ... der lacht Dich aus ! mfg Karl
Hey! Hab was für dich gefunden. Bin mir zwar sicher aber so könnte dir geholfen werden. http://www.google.de/search?q=mikrocontroller.net+netiquette Ich glaub der Code ist recht selbst verständlich und niemand muss groß drüber nachdenken. Gruß
@ as count (Gast) : ... und du kommst dir gut vor ...
Da kann ich "as count" nur Recht geben, wir sind hier auf mikrocontoller.net und nicht auf lasstunswegeneinemkindergartenstreiten.net! Schöne Grüße Tim Hier noch ein Link zu deinem Problem: http://www.google.de/#hl=de&gs_nf=1&pq=countdown%20in%20assembler&cp=48&gs_id=44&xhr=t&q=Countdown%20in%20Assembler%20auf%20unbekanntem%20Prozessor&pf=p&sclient=psy-ab&oq=Countdown+in+Assembler+auf+unbekanntem+Prozessor&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=7b03a4df454ebed3&biw=1280&bih=843
Karl Tomacek schrieb: > ... diese Uhr aus dem Tut hab ich nur mit sehr viel Mühe überhaupt zum > Laufen bekommen. Diese "Mühe" nennt sich ugs. "Lernen"... Martin schrieb: > Dein Pech. Niemand benutzt heutzutage noch Assembler, wenn es nicht > unbedingt sein muss. Und nein, bei deinem Problem muss es nicht sein. Karl Tomacek schrieb: > ... dann sag das mal jemandem,der Midi bzw DMX programmiert ! Ich mach beides. In C. Geht gut... Karl Tomacek schrieb: > Was ist denn das ? : in assembler , denn c geht bei mir nicht Das ? gefolgt vom : ist eine Abfrage: d = a<b ? 1 : 2; Diese Zeile bedeutet Wenn a kleiner b ist, dann weise d eine 1 zu, sonst eine 2. Es ist i.A. eine schlecht Idee, ein Programm von einer dir unbekannten Sprache in deine Sprache übersetzen zu wollen. Das funktioniert im täglichen Leben schon nicht...
Karl T. schrieb: > ... dann sag das mal jemandem,der Midi bzw DMX programmiert ! > ... der lacht Dich aus ! Ein etwas erfahrener MC-Programmierer macht das spielend in C. Die schlappen 250kBaud sind 704 Zyklen beim 16MHz AVR je Byte. Das ist nicht üppig, aber dicke ausreichend. Zumal die UART noch bis zu 3 Byte puffern kann. Man sollte nur keinen Windows-Progammierer ran lassen, der alles mit 10-fach indirekten Zeigern macht und nur double 64Bit Variablen kennt. Peter
@Karl Hier ist ein Link zu einem Countdown-Zähler in ASM: http://www.avr-projekte.de/portview.htm#Timer Der ist zwar mit Atmega48 realisiert, Du musst ihn auf Dich anpassen. Und noch eins: Diskutiere nicht mit Idioten -schon morgen könnte einer davon Dein Chef sein!
Wolken-Kuckucksheim schrieb: > Und noch eins: Diskutiere nicht mit Idioten -schon morgen könnte einer > davon Dein Chef sein! Der ihn rausschmeisst, wenn er es nicht schafft in angemessener Zeit aus den vorhandenen Bausteinen etwas so simples wie einen rückwärtslaufende Uhr zu bauen, die beim Erreichen von 0 einen Ausgangspin schaltet. Die Zutaten sind im Tut alle vorhanden * LCD Routinen * ein Timer, der im Sekundentakt etwas tut * Tasten Entprell- und Auswerteroutinen * Port Ausgaben, um damit einen Ausgang 0/1 zu schalten * wie man Vergleiche über mehrere Bytes macht (sofern die Zeit nicht einfach nur eine Sekundenzahl im Bereich 0 bis 255 ist) Was noch fehlt * ein Konzept, wie man mit den Tasten die Gerätebedienung durchführt * das Überlegen, wie die Einzelteil zusammenspielen sollen * das Zusammenschrauben und (da Assembler) aufeinander abstimmen der Einzelteile, damit es zu keinen Registerkollisionen kommt Da frag ich dich: Was von den Dingen die noch fehlen, ist jetzt technisch gesehen so schwierig, dass es ein Anfänger, der die Tutorialbestandteile verstanden hat, nicht hinkriegt? Hier geht es nicht um irgendwelche technischen Schwierigkeiten. Hier geht es simpel und einfach gesagt um Faulheit. Es geht darum, seine Arbeit auf andere abzuwälzen. Es geht vielleicht auch um die Selbstbelügung "Ich lerne am besten, wenn mir andere das bis ins Detail vorkauen". Noch nie hat jemand programmieren gelernt, in dem er ausschliesslich andere für sich hat arbeiten lassen und dann das Ergebnis studiert hat. Programmieren lernt man nur durch Programmieren. Und dazu gehört auch, dass man sich auf seinen Allerwertesten setzt und die Dinge selber macht. Vor allen Dingen dann, wenn einem die Bausteine ohnehin schon alle als Halbfertigteile zugetragen werden. Selbst wenn das das eine oder andere mal in die Hose geht. Das ist nicht schlimm und gehört genauso zum Lernprozess dazu wie Erfolgserlebnisse.
@Karl-Heinz Zieh Dir kein Jacke an, die Dir nicht passt! Die war für solche Gestalten wie "Holger", "Tim E." "Ascount" und "Spontan" bestimmt. In jeder Schule gibt es das Prinzip des Lernens an einem Beispiel. Wird das Beispiel nicht sofort durchschaut, dann gibt es einen Lehrer, Tutor (was auch immer in dieser Richtung), der das Beispiel noch einmal erläutern kann und scheinbare Widersprüche darin auflösen kann. Es gibt Menschen, die es schaffen, sich nur mit Hilfe (guter) Bücher etwas selbst beizubringen. Die meisten jedoch nicht -sie brauchen erst mal einen "Erklärbär". Den gibt es aber natürlich hier nicht. Es wird dann um Beispiel gebeten und schon sind die Schmeißfliegen da... Das ist es, was mich hier so ankotzt: Einige wenige, die helfen, aber dazu jede Menge "Beifang", der bestenfalls als Robbenfutter taugt. Das mußte mal raus -jetzt geht's mir besser.
Wolken-Kuckucksheim schrieb: > Es gibt Menschen, die es schaffen, sich nur mit Hilfe (guter) Bücher > etwas selbst beizubringen. Die meisten jedoch nicht -sie brauchen > erst mal einen "Erklärbär". Er hat aber nicht nach einem Detailproblem gefragt, sondern nach einem fix-fertig-komplett-im_Idelafall_brauch_ich_nichts_mehr_tun-Beispiel. Wenn es um ein Detailproblem geht, hat das Forum noch immer geholfen. Nur gegen "Rück mal einen Komplettcode raus" haben wir was.
Hi So schlecht ist das Wetter nun auch nicht.... also, bleibt auf dem Teppich. Ich seh es auch wie Karl Heinz, denn der erste Thread ist nicht grad "Bitte erklärt und helft mir" sondern eher "rückt mal mit Code raus". Dabei spielt die Sprache erst mal überhaupt keine Rolle, denn was ich von Programmiersprachen weiß, ist in jeder Kategorie ein "Rückwärtszähler" programmierbar. Das der Impuls nicht von Hand eingetippt werden muß, dafür sorgt eigentlich der Interrupt eines Timers und so ergibt das Ganze dann ein Zeitfenster für irgendwas. Wenn dann die Hinweise auf's Tutorial mehr oder weniger ablehnend kommentiert werden.... hmmm, da hat man nicht grad Lust, hilfreich zu sein und da darf sich der arme Fragesteller auch nicht wundern, wenn nicht grad hilfreiche Antworten kommen..... Trotzdem werd ich mal helfen und ein Prinzip aussprechen. Count-Down Setze Wert Schleife Programm .... Schleife CountDown: Wert - 1 Wert = 0 ? Nein, dann zu Schleife Countdown ..... weiter Schleife Programm So programmiert kein Schwein, ich weiß. Daher "Interrupt". Setze Wert Interrupt ein Programmschleife .... Guckst du erledigt_Flag .... und lustig zur Programmschleife Ahhh, Interrupt Wert- 1 wert = 0 dann setz erledigt_Flag ende Interrupt Nun, was macht man mit einem erledigt_Flag ? Das wird natürlich in der Programmschleife betrachtet und ausgewertet. Nun, mit diesen Fragmenten hat man zwar kein Programm, aber wer Assembler lernt, der sollte nach und nach die Befehle für diese Struktur aus dem Tutorial herausfischen können. Andererseits gibt's ja auch sowas wie eine Suche und da wird das Wort Countdown sicherlich nicht ohne Treffer bleiben. Also, nur Mut, es wird schon Gruß oldmax
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.