Hallo Ich selbst kann nicht Programmieren und befürchte das ich das ganze in meinem Alter auch nicht mehr lernen werde. Ein Programm mit einem serial Programmer und Pic Prog auf den Chip zu schieben geht gerade noch so. Zu meinem Problem: Ich wollte eine Wortuhr aus dem Franzis Ping-Pong-Spiel bauen. Kam nach einiger Zeit auf die Seite von Zabex, da er eine DCF77 gesteuerte Wortuhr hatte und die Software bereitstellte. Allerdings sagt man in unseren Breitengraden "Es ist virtel vor" anstatt "Dreivirtel". Man sagte mir ich solle im main.c die Zeile 253 else if(g.uhrMM < 50){TEXT_DREI1; TEXT_VIERTEL; } mit der Zeile else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_VOR; } ersetzen. Das funktioniert auch wunderbar, jedoch wie erzeuge ich damit ein für Ponyprog lesbares Programm (HEX o.ä.) und was muß ich setzen damit ich mir den Atmega8 nicht zerschieße. Vielen Dank im Vorraus
Du brauchst eine Toolchain. Also Compiler, Linker, Assembler und noch ein paar Sachen. Am einfachsten lädst Du Dir von Atmel das Studio runter und läßt Deine main.c passend für den Atmega8 (ist auf der pong platine verbaut) übersetzen. Nach dem übersetzen und linken solltest Du dann auch ein .hex file finden. Das kannst Du auf den AVR schieben.
:
Bearbeitet durch User
Wenn Du genau weiß, was Du tust, kannst Du auch Deine Änderungen im Hex-File vornehmen. Ist aber etwas triky - vor allem wegen der Prüfsumme am Ende jeder Zeile. Schau mal im Internet nach, ob Du nicht einen Hex-Editor findest, der das Ändern auch tatsächlich zulässt.
Der dir gesagt hat was du ändern sollst, kannst du den bitten für dich die Änderung vorzunehmen und dann soll er das bin(hex) schicken, was kannst du falschen? Üblicherweise ist das ein bin File. Ich habe noch nie mit AVR gearbeitet ausser mit Arduino, also du würdest einen Compiler (Crosstoolchain) benötigen, das kommt normalerweise als Entwicklungsumgebung von Atmel, aber da müssen dir andere weiterhelfen.
weisnix schrieb: > Man sagte mir ich solle im main.c die Zeile 253 > else if(g.uhrMM < 50){TEXT_DREI1; TEXT_VIERTEL; > } > mit der Zeile > else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_VOR; > } > ersetzen. Das wird aber nicht die einzige Änderung sein. Zum Beispiel der Unterschied "Viertel Sechs" oder "Viertel nach Fünf". Beides ist die gleiche Zeitangabe, aber hier muß die Stunde noch geändert werden.
O.k. das hört sich nach viel Arbeit an. Damit kann ich meinem Bekannten nicht kommen. Da bekommt er nur wieder Dollarzeichen in die Augen.... Ich muss mir also was einfallen lassen, oder mit der anderen Sprachvariante leben. Danke nochmal für die gutgemeinte Hilfe, es hätte ja auch mal einfach werden können statt kompliziert. mfg weisnix
Letzte Rettung : hat jemand sowas gebaut mit "Hessischem Sprachsatz" und DCF was ich nachbauen könnte ?
weisnix schrieb: > O.k. das hört sich nach viel Arbeit an. > Damit kann ich meinem Bekannten nicht kommen. Da bekommt er nur wieder > Dollarzeichen in die Augen.... > > Ich muss mir also was einfallen lassen, oder mit der anderen > Sprachvariante leben. > > Danke nochmal für die gutgemeinte Hilfe, es hätte ja auch mal einfach > werden können statt kompliziert. > > mfg > > weisnix Moment mal. Soooo kompliziert ist das nicht. Wenn Du uns genau sagst, was für ein Betriebssystem Du hast, dann geht die Installation in vielleicht drei oder vier Schritten. Hast Du in einer Stunde oder weniger erledigt. Um das Tutorial für absolute Anfänger hier zu zitieren: "Auf dem PC muss das AVR-Studio, WinAvr und ggf. Ponyprog zum Übertragen der Hex-Files installiert sein." Das ist alles. Ponyprog hast Du ja schon. Also fehlt nur noch AVRStudio und WinAVR. Da musst Du auch nicht die neueren Versionen nehmen. Die älteren reichen und die sind noch relativ klein und einfacher zu bedienen.
Ich habs mal schnell kompiliert. Ein paar Warnings, aber nicht weiter schlimm.
1 | Warning 1 variable 'pulsdauer' set but not used [-Wunused-but-set-variable] C:\Transfer\GccApplication1\GccApplication1\GccApplication1.c 395 5 GccApplication1 |
2 | Warning 2 variable 'neuesDatum' set but not used [-Wunused-but-set-variable] C:\Transfer\GccApplication1\GccApplication1\GccApplication1.c 390 12 GccApplication1 |
3 | Warning 3 variable 'monat' set but not used [-Wunused-but-set-variable] C:\Transfer\GccApplication1\GccApplication1\GccApplication1.c 389 23 GccApplication1 |
4 | Warning 4 variable 'wtag' set but not used [-Wunused-but-set-variable] C:\Transfer\GccApplication1\GccApplication1\GccApplication1.c 389 17 GccApplication1 |
5 | Warning 5 variable 'tag' set but not used [-Wunused-but-set-variable] C:\Transfer\GccApplication1\GccApplication1\GccApplication1.c 389 12 GccApplication1 |
6 | Warning 6 variable 'ss' set but not used [-Wunused-but-set-variable] C:\Transfer\GccApplication1\GccApplication1\GccApplication1.c 386 18 GccApplication1 |
Was willst Du genau geändert haben? Grüsse, René PS: ich spreche kein Hessisch :-)
René H. schrieb: > Was willst Du genau geändert haben? Man sagte mir ich solle im main.c die Zeile 253 else if(g.uhrMM < 50){TEXT_DREI1; TEXT_VIERTEL; } mit der Zeile else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_VOR; } ersetzen.
Das stand jedenfalls im ersten Post. Hessisch spreche ich auch nur nach ein paar Flaschen ... irgendwas. :-)
Also zur verfügung stehen 2 Rechner wobei auf dem einen Linux mint 17.3 Rosa läuft, auf dem anderen XP . Mit Linux selbst hab ich wiederum nichts zu tun, Ich hab mit Ach und Krach nen Drucker zum Laufen bekommen. PonyProg ist installiert auf dem Windows Rechner.Die anderen Programme WinAVR und AtmelStudio müsste ich nachinstallieren. PS: ein USBASP steht auch noch zur Verfügung.
Ah. Siehst Du. Rene war so nett. Muss Weihnachten sein. :-) OK. Hast Du noch Fragen?
Mann Mann Mann, Heute ist doch erst der 22 Dezember, So früh hab ich nicht mit nem Weihnachtsgeschenk gerechnet. Vielen herzlichen Dank. Hab trotzdem nochmal eine frage zu den zu ersetzenden Zeilen . Was bedeuten die Zahlen hinter der spitzen Klammer < 50 und <20
weisnix schrieb: > Mann Mann Mann, Heute ist doch erst der 22 Dezember, So früh hab ich > nicht mit nem Weihnachtsgeschenk gerechnet. > > Vielen herzlichen Dank. > > Hab trotzdem nochmal eine frage zu den zu ersetzenden Zeilen . > > Was bedeuten die Zahlen hinter der spitzen Klammer < 50 und <20 Kleiner als.... Wenn Du mir genau sagst, was Du haben willst (also Textmässig) kann ich Dir das machen, dass ist wirklich nicht der Aufwand. Aber ich muss es wissen, da ich dem Hessisch nicht mächtig bin. Also z.B: drei Viertel Fünf statt Viertel vor Sechs (oder wie auch immer). Hilfer schrieb: > Hessisch spreche ich auch nur nach ein paar Flaschen ... irgendwas. :-) Ich bin Schweizer, nach ein paar Flaschen reicht das bestenfalls zum Berndüütsch....
René H. schrieb: > Hilfer schrieb: >> Hessisch spreche ich auch nur nach ein paar Flaschen ... irgendwas. :-) > > Ich bin Schweizer, nach ein paar Flaschen reicht das bestenfalls zum > Berndüütsch.... Dachte ich mir schon, aufgrund des Rufzeichens. Muss immer an die gute alte HB9CV denken. Bern? Da böte sich doch ein Neuenburger Schwarzschräubchen an. Zum Wohl. :-)
Hab nochmal ein bischen gegoogelt und wiederum hier aber bei einem anderen Beitrag gelandet. https://www.mikrocontroller.net/articles/Word_Clock#Deutsch_.283-sprachig.29 Wessi-Modus: es ist ein uhr es ist fünf nach eins es ist zehn nach eins es ist viertel nach eins es ist zehn vor halb zwei es ist fünf vor halb zwei es ist halb zwei es ist fünf nach halb zwei es ist zehn nach halb zwei es ist viertel vor zwei es ist zehn vor zwei es ist fünf vor zwei Rhein-Ruhr-Modus: es ist ein uhr es ist fünf nach eins es ist zehn nach eins es ist viertel nach eins es ist zwanzig nach eins es ist fünf vor halb zwei es ist halb zwei es ist fünf nach halb zwei es ist zwanzig vor zwei es ist viertel vor zwei es ist zehn vor zwei es ist fünf vor zwei Ossi-Modus: es ist ein uhr es ist fünf nach eins es ist zehn nach eins es ist viertel zwei es ist zehn vor halb zwei es ist fünf vor halb zwei es ist halb zwei es ist fünf nach halb zwei es ist zehn nach halb zwei es ist dreiviertel zwei es ist zehn vor zwei es ist fünf vor zwei Das wäre dann der Rhein-Ruhr-Modus. René wenn du das mal machen könntest....Mein Dank würde dir ewig nachschleichen, dich vermutlich aber nie erreichen...... Gruß Weisnix (do1frw)
@ Weisnix Das ist ja im Originalcode schon so. @ Rene Mir fällt gerade auf, dass ich Dich möglicherweise in die Irre geführt habe - falls Du Dich denn in die Irre hast führen lassen ... Ich habe hier Beitrag "Re: main.c ändern und als .Hex absprichern?" auf Deine Frage, was denn geändert werden soll, den Text aus dem Eröffnungspost zitiert: > Man sagte mir ich solle im main.c die Zeile 253 > else if(g.uhrMM < 50){TEXT_DREI1; TEXT_VIERTEL; > } > mit der Zeile > else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_VOR; > } > ersetzen. Allerdings war im Originalcode diese Ersetzung sinngemäß, aber nicht wörtlich, schon gemacht worden. Neu: > else if(g.uhrMM < 50){TEXT_VIERTEL; TEXT_VOR; Ich fürchte nun, dass Du möglicherweise genau diese Ersetzung gemacht haben könntest. Neu (aber falsch): > else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_VOR; Ich nehme an, dass es Dir aufgefallen ist, aber es schadet ja nichts, wenn ich es erwähne. Tut mir leid.
ja, diese Änderung hatte ich bereits gemacht. Deshalb auch die Frage was die Zahlen hinter dem "Kleiner als" Zeichen zu bedeuten haben. Ich sollte Zeile 253 die original so aussieht else if(g.uhrMM < 50){TEXT_DREI1; TEXT_VIERTEL; } ändern in: else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_VOR; } Habe aber geändert in: else if(g.uhrMM < 50){TEXT_VIERTEL; TEXT_VOR; } da ich nur vermute, daß die Zahl wohl bleibt, der Text sich dahinter aber ändert, sonst wäre es ja das selbe wie : else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_NACH; } Stimmt das so? oder liege ich damit total daneben?
Geändert hatte ich am Original Code nichts, da es wie mir schien, schon gemacht worden ist. Ich werde das neu durchgehen, mit der Liste von oben.
weisnix schrieb: > ja, diese Änderung hatte ich bereits gemacht. Na ja. Es wäre nützlich gewesen das zu erwähnen und nützlich gewesen, wenn ich es vorher nachgeprüft hätte, bevor ich René antwortete. Hoffentlich ist es ihm aufgefallen. Aber Du kannst den Code ja einfach schonmal in den AVR programmieren, dann siehst Du es. Zwischen den Minuten 45 und 54 (inklusive müsste die Ausgabe "zehn vor" sein, falls das schief gelaufen ist. > [...] > da ich nur vermute, daß die Zahl wohl bleibt, der Text sich dahinter > aber ändert, > [...] > Stimmt das so? > oder liege ich damit total daneben? Nein. Das ist ganz richtig so.
Die Zahlen hinter dem "<" (Kleinerzeichen) werden wohl die Minuten wiederspiegeln.
René H. schrieb: > Ich werde das neu durchgehen, mit der Liste von oben. Hast du auch das mit bedacht?: Huh schrieb: > Zum Beispiel der Unterschied "Viertel Sechs" oder "Viertel nach Fünf". > > Beides ist die gleiche Zeitangabe, aber hier muß die Stunde noch > geändert werden.
René H. schrieb: > Geändert hatte ich am Original Code nichts, da es wie mir schien, schon > gemacht worden ist. > > Ich werde das neu durchgehen, mit der Liste von oben. Falls Du auf meine Meinung noch Wert legst ... Ich habe das auch mal verglichen und dabei ist mir überhaupt erst aufgefallen, dass der Code schon dem "Rhein-Ruhr"-Modus entspricht. Jedenfalls stimmt der Code so, denke ich. Hüstel. :-)
Also, ich würde sagen, dass stimmt im Hex bereits schon.
1 | if( g.uhrMM < 5){TEXT_UHR; } |
2 | else if(g.uhrMM < 10){TEXT_FUENF1; TEXT_NACH; } |
3 | else if(g.uhrMM < 15){TEXT_ZEHN1; TEXT_NACH; } |
4 | else if(g.uhrMM < 20){TEXT_VIERTEL; TEXT_NACH; } |
5 | else if(g.uhrMM < 25){TEXT_ZWANZIG; TEXT_NACH; } |
6 | else if(g.uhrMM < 30){TEXT_FUENF1; TEXT_VOR; TEXT_HALB; } |
7 | else if(g.uhrMM < 35){TEXT_HALB; } |
8 | else if(g.uhrMM < 40){TEXT_FUENF1; TEXT_NACH; TEXT_HALB; } |
9 | else if(g.uhrMM < 45){TEXT_ZWANZIG; TEXT_VOR; } |
10 | else if(g.uhrMM < 50){TEXT_VIERTEL; TEXT_VOR; } |
11 | else if(g.uhrMM < 55){TEXT_ZEHN1; TEXT_VOR; } |
12 | else if(g.uhrMM < 60){TEXT_FUENF1; TEXT_VOR; } |
Teste es einfach mal und melde Dich wieder sollte etwas nicht so sein, wie Du es Dir vorstellst. Grüsse, René Hilfer schrieb: > Bern? Da böte sich doch ein Neuenburger Schwarzschräubchen an. Zum Wohl. > :-) Nein, nein. Ich bin Luzerner, ein Innerschweizer.
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.