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
Bast schrieb: > wenn auf dem Bus z.B ein Bit 3 kommt Kannst Du das ein wenig näher erläutern? Gruß, Magnetus
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
Gibts ein Manual zu der Anlage, welches Du evtl. hier posten könntest?
>Leider nicht, geht auch ein Datenblock bzw. ein Kommando?
Geht auch ein Auto oder ein Raumschiff?
Hardware: RS 485 halbduplex 9600 Baud, 8 Datenbit, 1 Stopbit, keine Parität. Die Daten werden in ASCII-Hex Format übertragen.
>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?
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.
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.
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.
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 :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.