Forum: Mikrocontroller und Digitale Elektronik Hilfe ATMega8515 programm schreiben


von Bast (Gast)


Angehängte Dateien:

Lesenswert?

hallo!
kann mir jemand ein programm für einen ATMega8515 schreiben?
Ich bekomme von einem Programm daten über den rs485 bus und möchte das 
der
mikrocontroller darauf reagiert!
wenn auf dem Bus z.B ein Bit 3 kommt soll der
mikrocontroller einen ausgang auf high schalten

falls mir jemand helfen könnte wäre das super!!!

DANKE

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Bast schrieb:
> wenn auf dem Bus z.B ein Bit 3 kommt

Kannst Du das ein wenig näher erläutern?

Gruß,
Magnetus

von Bast (Gast)


Lesenswert?

Habe eine Alarmanlage da sind die Bits defin. z.B Bit1 unscharf Bit 2 
Scharf Bit 3 Alarm und auf diesen Bit soll der Binärausgang geschaltet 
werden

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Gibts ein Manual zu der Anlage, welches Du evtl. hier posten könntest?

von Bast (Gast)


Lesenswert?

Leider nicht, geht auch ein Datenblock bzw. ein Kommando?

von holger (Gast)


Lesenswert?

>Leider nicht, geht auch ein Datenblock bzw. ein Kommando?

Geht auch ein Auto oder ein Raumschiff?

von Bast (Gast)


Lesenswert?

Hardware:
RS 485 halbduplex 9600 Baud, 8 Datenbit, 1 Stopbit, keine Parität.
Die Daten werden in ASCII-Hex Format übertragen.

von holger (Gast)


Lesenswert?

>RS 485 halbduplex 9600 Baud, 8 Datenbit, 1 Stopbit, keine Parität.
>Die Daten werden in ASCII-Hex Format übertragen.

Dann nimmst du den UART und popelst die ASCII-Hex Daten
zu einem dir passenden Wert zusammen. Wo ist jetzt das Problem?

von beninho (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal ein Vorschlag, ist vielleicht nicht alles perfekt.

Du musst die Taktfrequenz Deines Controllers angeben. Das Programm ist 
für einen Mega32, ich hoffe die Registerbezeichnungen unterscheiden sich 
nicht vom 8515. Außerdem wird nicht nur ein einzelner Pin geschaltet, 
sondern ein ganzer Port. Die Feinheiten musst Du selber machen oder Dich 
nochmal melden. Ich hoffe, es sind sonst keine Fehler drin.

von beninho (Gast)


Lesenswert?

Zu beachten wäre vllt. auch nocht, dass bei jedem empfangenen Zeichen 
außer der 3 der Port auf Low geschaltet wird. Wie gesagt, um die 
Feinheiten musst Du dich noch kümmern, aber als grobe Hilfe taugts, 
hoffich.

von beninho (Gast)


Lesenswert?

Noch was: Da Du ASCII-Zeichen hast, muss es in der if-Abfrage '3' statt 
3 heißen, oder auf was für ein Zeichen Du halt reagieren willst.

Außerdem taugt das nur zum Empfang von Zeichen und nicht von Strings, 
aber laut Deiner Beschreibung reicht das ja.

von Karl H. (kbuchegg)


Lesenswert?

beninho schrieb:
> Noch was: Da Du ASCII-Zeichen hast, muss es in der if-Abfrage '3' statt
> 3 heißen, oder auf was für ein Zeichen Du halt reagieren willst.

Da bin ich mir nicht so sicher.
Siehe
Beitrag "Re: Hilfe ATMega8515 programm schreiben"

Wie das mit RS485 funktioniert hab ich jetzt im Datenblatt auch nicht 
nachgesehen. Aber der receive-enable Pin des Schnittstellenchips will 
mit Sicherheit auch bedient werden :-)

von Bast (Gast)


Lesenswert?

Komme mir der anpassung der Feinheiten nicht klar kann es dann nicht 
simulieren, kann mir das bitte noch jemand anpassen?

DANKE

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.