Atmel LwMesh Codeverständnis (WSN)

Gast #3415547
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich versuche den Atmel LW Mesh Stack ans laufen zu bekommen und zu 
verstehen was da passiert, aber eine Stelle macht mich stutzig, 
vielleicht kann mir jemand weiterhelfen.

1
/*************************************************************************//**
2
*****************************************************************************/
3
static void appSendMessage(uint8_t *data, uint8_t size)
4
{
5
  uint8_t cs = 0;
6

7
  HAL_UartWriteByte(0x10);
8
  HAL_UartWriteByte(0x02);
9

10
  for (uint8_t i = 0; i < size; i++)
11
  {
12
    if (data[i] == 0x10)
13
    {
14
      HAL_UartWriteByte(0x10);
15
      cs += 0x10;
16
    }
17
    HAL_UartWriteByte(data[i]);
18
    cs += data[i];
19
  }
20

21
  HAL_UartWriteByte(0x10);
22
  HAL_UartWriteByte(0x03);
23
  cs += 0x10 + 0x02 + 0x10 + 0x03;
24

25
  HAL_UartWriteByte(cs);
26
}
27

28
/*************************************************************************//**
29
*****************************************************************************/

die Frage wäre ob ichs richtig sehe, dass die 0x10 zweimal gesendet 
wird, wenn es im Array vorkommt? Und warum macht man das?
cs ist die Checksumme, wie auch immer da die Checksumme berechnet wird. 
XOR ists glaub ich nicht?! Ich versuche zu verstehen, warum die 0x10 
über UART zweimal gesendet wird. Ist das, damit der Parser auf der PC 
Seite die 0x10 auch als 0x10 deutet? Wäre plausibel, da 0x10 auch ein 
Synczeichen zu sein scheint?! Kann das jemand bestätigen?

Besten Dank
Gruß Spice
Gast #3426878
Lesenswert?
• ▲
▼
Hallo Spice,
wenn es um den Funkstack geht, solltest du dich bei AVR-Freaks 
umschauen.
Hier gibt es nur ein/zwei Leute, die sich damit auskennen.
Bei AVR-Freaks gibt es wesentlich mehr, die sich damit befassen und auch 
ziemlich fit sind (u.a. Alexru)
Schau dort mal vorbei

Gruß Julian

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.