Verfügbare Informationen zu "ACK - NACK Handling"
Qualität des Beitrags: Beteiligte Poster: Eisbaeeer - Kurzschluss Forum: www.comwebnet.de Forenbeschreibung: AVR Mikrocontroller und Elektronik - Forum - www.comwebnet.de aus dem Unterforum: SNAP-Protokoll für RFM12 - Sven Härtig Antworten: 3 Forum gestartet am: Mittwoch 25.10.2006 Sprache: deutsch Link zum Originaltopic: ACK - NACK Handling Letzte Antwort: vor 16 Jahren, 4 Monaten, 14 Tagen, 14 Stunden, 2 Minuten
Alle Beiträge und Antworten zu "ACK - NACK Handling"
Re: ACK - NACK Handling
Eisbaeeer - 10.12.2007, 13:30ACK - NACK Handling
Hallo zusammen
Ich wollte hier mal ein neuen Thread aufmachen, um die Vorgehensweise des ACK - NACK abzustimmen.
Ich dachte mir, dass der Sender nach seinem ersten Versuch, das Paket loszuwerden auf Empfang geht (tut er ja sowieso).
Sobald der Empfänger ein Paket erhält, das für Ihn ist und alles gut verläuft (im Sub Framehandler:) sendet er ja das ACK.
Code:
If Crc = Rf12_data(framelength) Then 'CRC OK?
Print "CRC OK! => " ; Crc
' Send ACK (i.e tell master that packet was OK)
' Set ACKs bit in HDB2 (xxxxxx10)
Hdb2 = Hdb2 Or &B00000010
Hdb2 = Hdb2 And &B11111110
'do ...
Gosub Senden 'Anwortframe senden--> nur als Slave
@Kurzschluss
Warum machst du hier alles zu 1 in HDB2? Hat das einen Grund? Dabei gehen doch die Adressen verloren.
ACK hast du als AA = &B10 definiert.
Der Sender müsste ja jetzt das ACK auswerten und demensprechend handeln.
Der Empfänger wertet im Moment noch nicht aus, ob der Master ein ACK möchte oder nicht. Sollen wir das auch implementieren oder soll grundsätzlich ein ACK angefordert werden?
Grüße Eisbaeeer
Re: ACK - NACK Handling
Kurzschluss - 10.12.2007, 22:19
Hi Eisbaeeer
die Auswertung der einzelnen Bits im HDB2 ist noch nicht komplett
Ich denke aber wir können einfach die beiden AA-Bits nach Empfang mit auswerten.
Je nachdem ein Ack senden wenn vom Master angefordert
vieleicht so:
Code:
If HDB2.0=1 then '---> Verarbeitung mit ACK
if AllesWarOK=1 then 'crc,Byteanzahl usw. OK
HDB2.0=0
HDB2.1=1 'ACK für Antwort
else
HDB2.0=1
HDB2.1=1 'NACK für Antwort
end if
else '---> Verarbeitung ohne ACK
'....
end if
Damit tun wir nur die beiden AA- Bits manipulieren und der Rest vom HDB2 wird nicht verändert.
Definition der ACK-Bits:
Bit 1 and 0 - ACK/NACK Bits (ACK)
These two bits defines if the sending node requests an ACK/NAK packet in return.
These bits also acts as the actual ACK/NAK response sent from the receiving node.
1 1 NAK response (Rx)
1 0 ACK response (Rx)
0 1 ACK request (Tx) ---> ACK gefordert!
0 0 No ACK request (Tx) ---> Frame ohne ACK
mit: Hdb2 = Hdb2 Or &B00000010
Hdb2 = Hdb2 And &B11111110
mach ich eigentlich das selbe,
die oberen 6Bits bleiben so wie sie waren
(Maskierfunktion mit gezielten setzen von Bit1 und rücksetzen von Bit0)
wie meinst du das mit Adresse geht verloren?
Die stecken doch in:
DAB1 Alias RF12_data(4)
SAB1 Alias RF12_data(5)
und werden nur zum zurücksenden getauscht
Grüsse
kurzschluss
Re: ACK - NACK Handling
Eisbaeeer - 11.12.2007, 07:19
Ja, so dachte ich mir das auch.
Die Tiefe der If Abfragen ist ja nur von den Stack Werten abhängig. Ich werde mich mal dran machen.
HDB2:
Da bin ich drübergestolpert und hab mich gerade nochmal in mein schon etwas umfangreicheres Programm eingelesen.
Ich werde mal die Kopf-Infos ändern.
Hab nur oben in der Beschreibung nachgeschaut, ohne weiter die Variablenzuordnung zu lesen:
Code:
' Overview of header definition bytes (HDB2 and HDB1)
'
' HDB2 HDB1
' +-----------------+-----------------+
' | D D S S P P A A | D E E E N N N N |
' +-----------------+-----------------+
Code:
Sync Alias Rf12_data(1) 'Snchr. Byte
Hdb2 Alias Rf12_data(2) 'Headerbyte2
Hdb1 Alias Rf12_data(3) 'Headerbyte1
Dab1 Alias Rf12_data(4) 'Destination Adress
Sab1 Alias Rf12_data(5) 'Source Adress
Das ist noch nicht stimmig.
Das hat mich kurz aus der Bahn geworfen. Naja, kann schon passieren, wenn man erkältet ist.
Grüße Eisbaeeer
-- ACHTUNG -- ACHTUNG --
Der Thread geht im neuen Forum weiter ---> http://www.weimars.net/forum
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum www.comwebnet.de
8Bit Wandlung - Erhöhung der Samplerate - gepostet von avrnix am Mittwoch 14.11.2007
AVR Disassembler unter Linux - gepostet von avrnix am Montag 12.03.2007
Nokia 3310 Display-Montageboard - gepostet von Wigbert am Dienstag 31.10.2006
Windows XP - Schreibschutz ? - gepostet von avrnix am Freitag 23.11.2007
Das - Benachrichtigen bei Antworten - per Emai oft als... - gepostet von avrnix am Mittwoch 24.01.2007
Frequenzgenarator - gepostet von Wigbert am Montag 08.10.2007
Ähnliche Beiträge wie "ACK - NACK Handling"
Handling Planes - hunterhh (Samstag 20.05.2006)
dK vs. ACK - legend (Sonntag 10.06.2007)
25.06-27.06 Nack - Alpha (Mittwoch 23.06.2004)
anmelden und session-handling - Benny (Samstag 28.04.2007)
Handling - biggirenee (Freitag 25.08.2006)
www.ack-online.de - adriankoss (Freitag 29.04.2005)
Administration der FEAR Server (Admin Handling !) - wfcopa (Mittwoch 14.06.2006)
nick nack - marian (Samstag 15.07.2006)
COD2 AWE MOD -Unknown Soldier- Handling. - wfcopa (Dienstag 14.11.2006)
Kommt ihr mit dem Handling des Forums gut klar? - Blackmore (Dienstag 11.09.2007)