[elektro] nRF24L01+ lib

hobilobi at gmail.com hobilobi at gmail.com
Sat Nov 12 00:05:42 CET 2016


Nem kell csodálkozni. Ugyan nem ennél a procinál, hanem Arduinonál, de 
én a netről letöltött programok
jelentős részében találtam nagyon komoly hibákat is. Volt olyan is, ami 
gyakorlatilag működésképtelen volt.
Erre mondják, hogy ajándék lónak ne nézd a fogát.
Ezen okulva sosem használok átnézés vagy tesztelés nélkül, netről 
letöltött programot.
Megtérül az elején befektetett idő, mert egyrészt tanulni lehet vele, de 
legfőképpen megkímélem magamat a későbbi szívásoktól.

István

2016.11.11. 19:45 keltezéssel, Bali Zoltan írta:
> Szia,
>
> adás, vétel azonos csatornán megy.
> A pll  beállás 130usec, de itt az a gond, hogy
> a vételt jelző statusz flag, jelzi, hogy megjött
> az adat, a sw ráfut a kezelő ágra, közben a
> chip még magától küld vissza nyugtázó csomagot,
> és ezt nem tudja befejezni, ha azonnal adásra vált a SW.
> Megoldható késleltetéssel, de ugye elegánsabb lenne
> ha egy flagen keresztül értesülnénk, hogy befejeződött
> az automatikus nyugtázó adás, szabad a TX pálya
> részünkre.
> Csak azért kérdeztem, hátha elkerülte valami a
> figyelmemet, a regiszterek tanulmányozása közben.
>
> Köszi
>
> Üdv.  Zoli
>
> 2016.11.11. 19:19 keltezéssel, Bánhidi István írta:
>> Szia,
>>
>>
>> Az nem játszik, hogy kell egy kis idő, míg az rf rész áthangol az 
>> adási frekire és vissza, beáll a pll, agc stb.
>>
>> Általában minden rf cuccnak kell az adás/vétel váltás között 
>> várakozni, ha nem full duplex a cucc.
>>
>> Nekem eddig egy kis várakozás/késleltetés mindig megoldotta a 
>> problémát az adás/vétel váltás között.
>>
>>
>> Steve
>>
>>
>> 2016.11.11. 16:57 keltezéssel, Bali Zoltan írta:
>>> Hali!
>>>
>>> Az alábbi oldal mintapéldáját próbálom:
>>> <https://stm32f4-discovery.net/2014/06/library-17-nrf24l01-stm32f4xx/#comment-5724> 
>>>
>>>
>>> Az adó oldalon a küldött csomagok
>>> ~10-30%-a nyugtázott csak.
>>> A vétel oldal tűnik problémásnak.
>>> A lap alja felé, "Receiver code"
>>>
>>>
>>> while(1){
>>> /* If data is ready on NRF24L01+ */
>>> if(TM_NRF24L01_DataReady()){
>>> /* Get data from NRF24L01+ */
>>> TM_NRF24L01_GetData(dataIn);
>>> /* Send it back, automatically goes to TX mode */
>>> TM_NRF24L01_Transmit(dataIn);
>>> /* Start send */
>>> TM_DISCO_LedOn(LED_GREEN);
>>> /* Wait for data to be sent */
>>>
>>> A GetData() után rögtön TX-re kapcsol,
>>> ami a lib-ben úgy kezdődik, hogy
>>> NRF24L01_CE_LOW;, tehát megszakíthatja a
>>> nyugtázást idejekorán. Ha berakok kis késleltetést
>>> az adás elé, akkor minden küldött csomag nyugtázódik.
>>> Van ennek más módja is, vagy csak én nem találok
>>> a regiszterekben olyan flaget, ami jelezné,
>>> hogy még folyamatban van egy nyugtázás.
>>>
>>> Köszi
>>>
>>> Üdv.  Zoli 



More information about the Elektro mailing list