christian mock schrieb:
> ich glaub nämlich, das datasheet belügt uns: ich interpretiere
> jedenfalls die graphik "Typical TX register usage" auf s. 24 in
> rf12.pdf so, daß ein dummy-byte ausreichend ist. scheint aber nicht
so
> zu sein, wenn ich nämlich in rf12 send 2 dummy-bytes sende, schaut
die
> übertragung (im kurzen test) zuverlässig aus ohne doppeltes
senden.
> ich mach hier jetzt also
>
> rf12 cmd(RF12 POWER SETTING, RF12 ET | RF12 DC); // turn on xmit
> rf12 send((uint8 t *)&data, sizeof(data));
> rf12 cmd(RF12 POWER SETTING, RF12 DC); // turn off
Hint: rf12 TX (zumindest in der Version von Andreas) wartet nicht, bis
das TX-Register wieder aufnahmebereit ist. Dann benötigt man
natürlich
zwei Dummy-Bytes. Ein Dummy-Byte sollte reichen, wenn man ganz zum
Schluss von rf12 send noch einmal rf12 loop until FFIT RGIT aufruft.
Denn erst wenn ein Dummy-Byte geschrieben wurde und danach RGIT wieder
gesetzt ist, wurde das letzte Datenbyte gesendet.
Alternativ müsste man nach dem letzten Datenbyte auch auf ein "TX
register underrun" warten können.
Eigentlich alles ganz logisch.
CU Christian
--
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW:
http://www.chzsoft.com.ar/
PGP/GnuPG-Key-ID: 0x6DA025CA