LIN_Master-Slave Kommunikation

Gast #552588
Lesenswert?

Hallo zusammen,

ich habe mal eine Frage bezüglich der Master-Slave Kommunikation.

Wie würde der Slave das Signal einlesen? Sagen wir mal ich schicke ihm 4 
Datenbytes, wovon im ersten Byte 2 Bits für eine Pin Auswahl stehen, die 
restlichen Bits für PWM Wert usw. Ist ja auch im Prinzip egal.
Muss ich mir die ganzen Bytes auseinanderbröseln und mit if Abfragen 
auswerten oder wie macht man das?

Thx
Gast #552590
Lesenswert?

Hi,

ich will mit einem Atmega8 Controller eine Spannung messen diese Wandeln 
und per RS232 an Hyperterminal schicken. RS232 Kommunikation klappt.
Problem 10 bit A/D Wert 8 bit über RS232, wie löse ich das? Nacheinander 
einlesen?
Weiteres Problem will z.B jede ms einen Messwert, mach ich das übern A/D 
Wandler Takt oder per Interrupt?
#555878
Lesenswert?

Ja, das macht bei zwei Bit (4 Pins) drei If-Abfragen (also eine weniger 
als Pins). Wenn man für alle Pins die selben Laufzeiten haben will 
ordnet man die Abfragen in einem schönen binären Baum:

if(c&0x40) {
  if(c&0x80) {
    // Pin 4
  } else {
    // Pin 2
  }
} else {
  if(c&0x80) {
    // Pin 3
  } else {
    // Pin 1
  }
}

(hab die Dinger jetzt einfach benannt als 00->Pin1, 01->Pin2, ...)
Gast #555898
Lesenswert?

Ok soweit so klar. Da ich mit Bus Kommunikation gar nicht auskenne, 
jetzt wahrscheinlich eine dumme Frage: die restlichen 5 Bit sollen mir 
ja einen Konfigurierbaren Wert übergeben, ich habe aber keinen Plan wie 
ich diesen Wert meinem Controller beibríngen soll.
Gast #555925
Lesenswert?

wie man LIN-Messages verarbeitet interessiert mich auch, und ich 
verstehe nicht so ganz wie man die übrigen 5 bit, welche die PWM liefern 
sollen auswertet? Hatte ausversehen auch bei Deeds meine A/D Frage 
gepostet, daher gucke ich öfters vorbei :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren