Forum: PC-Programmierung Interupt auslösen


von Daniel Lewandowski (Gast)


Lesenswert?

Ich arbeite mit einem 8051 der ein lcd display hat und über eine
serielles Kabel mit dem Pc verbunden ist. Den Microkontroller
programmiere ich mit Keil mikroVision 2.

Die Funktion void timerlr(void) interrupt TF1_VECTOR{}
wird immer ausgelösst wenn der Timer hochzahlt.

Wenn über das serielle Kabel ein signal am mikrocontroller ankommt soll
auch ein interupt ausgelösst werden. Ist es möglich die Funktion
void serial(void) interrupt SIO_VECTOR{} zu benutzen um einen Interupt
auszulösen wenn ein Signal von dem Pc an den Microkontroller gesendet
wird?

Wenn ich ein Signal vom dem PC an den Microkontroller senden will, wie
gross müssen die Daten und Stoppbits sein und welche Parität muss ich
benutzen?

von Schoaschi (Gast)


Lesenswert?

Hi

Welchen Controller benutzt du genau? besitzt dieser UART? wenn ja dann
würde ich diese zur kommunikation verwenden, denn dann hast du einen
Interupt sobald daten ankommen und du brauchst dann nur ein bestimmtes
register auslesen und du hast deine daten.

"..Wenn ich ein Signal vom dem PC an den Microkontroller senden will,
wie
gross müssen die Daten und Stoppbits sein und welche Parität muss ich
benutzen? "

diese werte musst du zuerst in den register des UART einstellen. hier
kannst du dich entscheiden welche parität du verwendest und wie viele
stoppbits und und und... beachte das du auch die timerwerte richtig
setzen musst, damit der µC mit der richtigen baudrate arbeitet. wie
genau die einzelnen bits und register heissen weis ich nicht auswändig
am besten siehst im datenblatt nach. frei nach dem motto: rtfm (read
the fucking manuel) :-)

ich hoffe ich konnte dir etwas auf die sprünge helfen.

von Schoaschi (Gast)


Lesenswert?

Ps.: wird das programm nicht µVision genannt? oda hast du das µ-zeichen
nicht gefunden? .. sorry :D schönen abend noch

von Daniel Lewandowski (Gast)


Lesenswert?

Ich hab das µ zeichen nicht gefunden ;)
Ich benutze den Atmel AT89S8252, er unterstützt uart. Um uart zu
aktiviren muss IE auf 0x98 gesetzt werden soweit ich die doku
verstanden habe. Um mehr Informationen über uart zu bekommen soll auf
der atmel seite ein pdf sein das es aber nicht gibt. Danke für die
Hilfe.
Wäre nett wenn du mir noch veraten könntest was man im uart register
einstellen muss oder wo man es nachlesen kann. Bei google hab eich
nichts gefunden.

von Michael (Gast)


Lesenswert?


von Schoaschi (Gast)


Angehängte Dateien:

Lesenswert?

begrüss sie

im anhang findest du ein original  programmierbeispiel von atmel. hier
sind die examples auch mit µVision programmiert worden. einfach mal
durchschaun.

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3420

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
Noch kein Account? Hier anmelden.