RFM22B senden Interrupt

Gast #4250139
Lesenswert?
• ▲
▼
Hallo zusammen,

bastle grad mit Ulrich Radig´s Code für den RMF22B.

Habe da eine Frage bezüglich senden.
1
void rfm22b_sendpacket(unsigned char *data, unsigned char size)
2
{
3
    unsigned char i;
4

5
    if (size>64) size=64;
6

7
    write(0x07, 0x03);      // switch to ready mode
8
    read(0x03);         // clear interrupt status
9
    read(0x04);         // clear interrupt status
10

11
    write(0x08, 0x01);      // clear TX fifo
12
    write(0x08, 0x00);      // clear TX fifo
13

14
    write(0x34, 32);        // premable length: 32 nibbles -> 128 Bits
15
    write(0x3e, size);  // packet length
16

17
    for (i = 0; i<size; i++)
18
    {
19
        write(0x7f, *data++);
20
    }
21

22
    write(0x05, 0x04);      // enable packet send
23
    write(0x07, 0x09);      // TX on
24

25
    while (nIRQ);
26

27
    write(0x07, 0x01);      //  switch to ready mode
28
}

Mir geht es um while(nIRQ). zwischen TX on und switch to ready mode 
vergehen ca. 190 ms. Solange ist der Interrupt Pegel auf High.

Kommt mir irgendwie lange vor.

Danke und Grüße

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.