Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben
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.

Geschrieben

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

Geschrieben

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...

Geschrieben (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 von koldats
Geschrieben

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.

Geschrieben

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?

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...