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