koldats Geschrieben 4. Juni 2009 Geschrieben 4. Juni 2009 hallo leute ich hab eine digitale uhr aufgebaut . sie verfügt über 13 ausgäne. diese sollen als eingänge mit einem µc_system (mega32)ausgelen und als Textmeldung in einem Bildschim (hyperterminal) im format HH:MM erscheinen compiler: codevisionavr ich würde mich auf jede antwort freuen. basti Zitieren
koldats Geschrieben 4. Juni 2009 Autor Geschrieben 4. Juni 2009 was muss ich schrittweise tun um die aktuelle uhrzeit angezeigt zu bekommen? bis jetzt habe ich nur die serielle schnittstelle RS232 in wizzardavr unter USART initialisiert Zitieren
koldats Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 ich könnte jetzt deine hilfe brauchen Zitieren
TDM Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 was muss ich schrittweise tun um die aktuelle uhrzeit angezeigt zu bekommen? Soweit ich weiß sind µc-Systeme basierend auf dem AVR Mikrocontroler. Folglich brauchst du ein C-Programm auf der Hardwareseite (wenn es schon da ist, dann ok) und einen Empfänger auf der PC-Seite. Da du was von serieller Schnittstelle bzw. RS232 sagtest, solltest du dir vielleicht mal das hier durchlesen. Ansonsten muss man eigentlich nur wissen, dass man serielle Ports als Datei handlen muss. Dabei hilft CreateFile und WriteFile bzw. Readfile. Zitieren
koldats Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 hallo, was muss ich als ertens dem µc mitteilen das er mir den zählerstand abliest? wenn man Q1-4 an einen Port schließt, sollte der zählerstand abgelesen werden, und als textmeldung in einem bildschirmmenü erscheinen. mfg Zitieren
Pointerman Geschrieben 7. Juni 2009 Geschrieben 7. Juni 2009 Moin! Wie genau sieht denn Denn Dein Aufbau aus? Was genau ist die Aufgabe des Mega32 in Deiner Schaltung? Wie löst Du die Kommunikation über RS232? Wo genau ist das Problem bei der Übertragung? Wie der Code zum senden aussehen muss? Ist Dein RS232-Kabel richtig belegt? Hast Du im Hyperterminal die richtige Geschwindigkeit/Parität/Stopbit eingestellt? Fragen über Fragen... Zitieren
koldats Geschrieben 7. Juni 2009 Autor Geschrieben 7. Juni 2009 (bearbeitet) hi; was muss ich tun damit der controller die Pins eines ports abliest und die zahlen im format hh:mm (min1=9, min10=5, h1=9|3, h10=2) als ausgabe auf einen monitor (terminal) wiedergibt. ich hab so angefangen: headers #define MIN_EINER PINA&0xF0 #define MIN_ZEHNER PINA&0x0E #define STD_EINER PINB&0x0F #define STD_ZEHNER PINB&0x30 . . . void main void { DDRA=0x00; PORTA=0xFE; DDRB=0xC0; PORTB=0X3F; init(); //Kommunikation über RS232 while(1) { anweisung1?? anweisung2?? //hier muss ich die Zahlen in Ascii zeichen umwandeln wie?? printf("\n\r HH:MM"); } } } mfg Bearbeitet 7. Juni 2009 von koldats Zitieren
Pointerman Geschrieben 7. Juni 2009 Geschrieben 7. Juni 2009 Es wäre gut, wenn Du mal schreibst in welchem Format die Zaheln vorliegen, sonst muss man erstmal raten. Angenommen, Du hast die Zahlen als normale Bytewerte vorliegen, musst Du sie in Einer und Zehner zerlegen und dann den passenden "Offset" addieren, um den richtigen ASCII-Code zu bekommen. Der Offset für die Ziffern ist 48. Bsp: Du hast die Ziffer 6 addierst 48 und bekommst den ASCII-Code 54. Hier die ASCII-Tabelle: [url=http://de.wikipedia.org/wiki/ASCII#ASCII-Tabelle] Nun wirst Du wohl sowohl für die Stunden als auch die Minuten jeweils ein Byte bekommen. Zerlegen kannst Du die Zahlen ja mit Hilfe von Division und Modulo. Zitieren
koldats Geschrieben 7. Juni 2009 Autor Geschrieben 7. Juni 2009 hallo; weisst du mit welcher funktion ich die PORT.PINs in eine dezi_zahl umwandeln kann? Zitieren
Pointerman Geschrieben 8. Juni 2009 Geschrieben 8. Juni 2009 Du schweigst Dich ziemlich über alles aus, was zurProblemlösung beitragen könnte. Das ist toll, ich mag Rätsel! Andere hätten wohl schon gesagt, dass Du es allein machen kannst... Aber zum Thema: Wo genau kommen denn jetzt die Daten an? Eine Stelle pro Pin? Musst Du die Stellen also erstmal in "echte" Bytes deserialisieren? Oder bekommst Du die Minuten und Stunden an 2 Ports und hast hier dann schon die richtigen Zahlen? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.