Ein FB-RTC-Einstellmenu , funktioniert wie beim Handy mit Pfeil- und Zifferntasten. Andere Befehle können natürlich auch eingegeben werden.
Das ist ja toll. Und was willst du mit den Header-Files und überhaupt sagen?
Diese Headerdateien scheinen Quelltext zu enthalten. Sorry, aber das sollte sich der "grundschüler" nochmal genauer ansehen, und zwar unter Berücksichtigung folgender Gesichtspunkte: - Was gehört in *.c-Dateien - Was gehött in *.h-Dateien - Wie wird Quelltext lesbar formatiert - Wie sieht Dokumentation aus - Wofür sind Kommentare da
Rufus Τ. Firefly schrieb: > - Was gehört in *.c-Dateien > - Was gehött in *.h-Dateien Es hadelt sich weniger um header-files, eher um ausgelagerte Teile der main.c. Ich hatte hier überlegt, eine andere extension als *.h zu nehmen, z.B. *.u. Das ist aber daran gescheitert, dass notepad keine *.u Dateien kennt. Es fehlt mir also eine extension, die von notepad und eclipse als code dargestellt wird.
Ich habe mal gerade ins Zip reingeschaut. Der TO möchte offenbar mit dem Code bei irgendeinem Verschlüsselungs-Wettbewerb teilnehmen. Das Zeug ist ziemlich unlesbar. Was ich aber (aus dem wenig bis gar nicht dokumentierten) Code herauslesen konnte: Es sind drei Dateien drin: 1. FB_globals.h: Den globalen Variablen-Definitionen wird jeweils ein 'v' vorangestellt. Was soll das sein? Vielleicht volatile? Wo ist der typedef dafür? 2. FB_irMenu.h: Weder geht daraus hervor, wie man die Menüstruktur aufbauen muss, noch wie man sie anwendet. Es werden jede Menge numerische Konstanten verwendet, die nicht abhängig von F_CPU über den Präprozessor berechnet werden. Es werden Funktionen wie Gui_DrawPoint() und andere aufgerufen, die überhaupt nicht definiert sind. FB_RC5_64.h: Es werden lcd_xxx()-Funktionen aufgerufen, die überhaupt nicht definiert sind. Ich vermisse auch die RTC-Routinen für die offenbar verwendete DS1307. Ausserdem geht das ganze Zeug durch keinen Compiler. Frage an den TO: Was soll das? Damit kann man nix, aber auch gar nix anfangen.
:
Bearbeitet durch Moderator
grundschüler schrieb: > Es fehlt mir also eine extension, die von notepad und eclipse als code > dargestellt wird. Die heißt *.c Du solltest keine eigenen Standards erfinden, wo Definitionen und Deklarationen abgelegt werden, sondern Dich an seit Jahrzehnten etablierten Konventionen orientieren. Das gilt insbesondere, wenn Du Deine Erkenntnisse anderen Leuten zur Verfügung stellen möchtest -- neben der Programmiersprache gehören auch diese Konventionen zur Sprache, mit der wir uns hier unterhalten. Dazu gehören auch Konventionen für Quelltextformatierung (auch wenn da individuelle Abweichungen noch am ehesten toleriert werden), Konventionen für Namensvergabe und Konventionen für die Kommentierung. In Deinen Dateien erkenne ich nichts davon.
Frank M. schrieb: > Frage an den TO: Was soll das? Damit kann man nix, aber auch gar nix > anfangen. ich dachte, dass der FB_RC5_64.h-code aus sich heraus verständlich ist. Ist er offenbar doch nicht. Im Prinzip wird das empfangene IR-Commando übergeben. Handelt es sich um die Taste fb_green, erfolgt der Eintritt in die RTC-menu-Schleife. Ausgewertet werden hier nur Pfeil-Tasten, Ziffern, ok und Abbruch. Ein Array kkdat[0] =hou/10; kkdat[1] =hou%10; kkdat[2] =min/10; kkdat[3] =min%10; kkdat[4] =WDY; kkdat[5] =DAY/10; kkdat[6] =DAY%10; kkdat[7] =MON/10; kkdat[8] =MON%10; kkdat[9] =YEA/10; speichert die RTC-Werte als Ziffern. Step bestimmt, welcher Wert auf dem LCD angezeigt wird. das Arrayfeld[step] kann dann jeweils modifiziert werden: Pfeil-o/Pfeil-u/Ziffer. Bei Ziffer wird step erhöht und der nächste RTC-Wert selektiert. Mit Pfeil-r/l wird 1x step vor- oder zurückgesprungen Bei ok wird der aktuell auf dem Lcd angezeigte Wert gespeichert. Bei back erfolgt Abbruch. Es ist also schlicht und einfach aber dennoch nützlich weil es für das Einstellen einer RTC meines Wissens nach keine bessere Lösung gibt. Das ganze ist Teil eines etwas umfangreicheren Programms. Ich habe die Programmteile für FB/Twilcd/ds1820/ds1307 herausgezogen und für einen Atmega328/winavr compiliert. Auf meinem M328 läuft es. Allerdings muss man natürlich die LCD-Funktionen anpassen, wenn mann kein TwiLcd hat. F_IR
1 | //#if (defined(_AVR_IOM328P_H_) )
|
2 | #define F_IR 82//75//=>FCPU/100000/9
|
3 | //F_IR so einstellen, dass tmp[1]/F_IR =10 ergibt
|
4 | #define takt_timer 31
|
5 | //#endif
|
F_IR muss per Hand eingestellt werden. Dazu lässt man sich am besten Die Dauer der ersten Flanke tmp[1] anzeigen. Der von mir angesetzte Wert gilt für 8MHz intern.
grundschüler schrieb: > ich dachte, dass der FB_RC5_64.h-code aus sich heraus verständlich ist. Sorry, der ist absolut unlesbar. Das macht die Zip-Datei, wo Du Objekt-, eep-, hex, Proj-, lss-, sym-Dateien zusammen mit dem Source reinklatschst, überhaupt nicht besser. > #define F_IR 82//75//=>FCPU/100000/9 Warum schreibst Du denn nicht #define F_IR (F_CPU/100000/9) hin? Dann läuft es nicht nur mit Deinem speziell gewähltem Takt. Und was macht die magische 9 in Deiner Formel? Was bedeutet eigentlich die Endung .k, die Du für Deine Sources verwendest? "Kaputtes-C"? Ich glaube, Du hast den Sinn und Zweck von "Projekte und Code" nicht verstanden. Hier stellt man seinen Code vor, damit andere ihn für eigene Projekte verwenden oder etwas daraus lernen können Deinen Code zu studieren ist eine Zumutung. Keine Einrückungen, unverständliche Abkürzungen, um den Code (absichtlich?) unleserlich zu machen... Sorry, das tut sich keiner an.
:
Bearbeitet durch Moderator
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.