Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 23:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 29 mar 2020, o 11:32 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

Witam,

robię proste urządzenie radiowe do odbioru danych liczbowych. Wykorzystuję moduł RFM73 i bibliotekę p. Mirka z GB. O ile odbiór danych w formacie stringów działa bez żadnego problemu tak pomyślałem sobie, że bez sensu tracić czas na przesyłanie stringu np. 255.125.125.124, który będzie zajmować 15 bajtów, jak można by przesłać tabelę składającą się z 4 bajtów. Mniej do przesłania - więcej czasu zaoszczędzone przez procesor. I tutaj spróbowałem sobie utworzyć funkcję odbiorczą parse_rf_data( void * pBuf, uint8_t length ) ze zmienną pBuf typu void, żeby móc odbierać jednocześnie string i int (jeśli się mylę proszę mnie poprawić). Mam tylko problem z pobraniem tego int'a z powrotem do jakiejkolwiek utworzonej tabeli. Da radę to zrobić bez przesyłania stringa i funkcji atoi w procedurze odbiorczej? Bo domyślam się, że stosowanie funkcji sprintf jest trochę bardziej czasochłonne niż itoa dla nadawania, chociaż pewny tego nie jestem. Mógłbym jeszcze pokombinować z zapisywaniem liczby do znaku ASCII (itoa) wysłanie w tym przypadku np. 4 znaków i w procedurze odbiorczej każdy znak zapisywać do innego slotu w tabeli z danymi odebranymi. Tylko czy to by miało sens z punktu widzenia czasu wykonania operacji.

Mam nadzieję, że wszystko wyjaśniłem w miarę klarownie :) w skrócie chodzi mi o skrócenie czasu pracy procesora i przesyłania danych.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 11:42 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

No no a teraz policz mi ile tego czasu stracisz w procesorze ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2020, o 11:51 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

Dokładnie nie mam pojęcia jak to policzyć ale biorąc pod uwagę to, że taktowanie procka to 3.6864 MHz (obniżone napięcie do 2.7V) i wykonuje jeszcze między innymi komunikację SPI z akcelerometrem oraz samo wysyłanie przez RFM73 to w obecnej sytuacji sporo :) chciałbym uzyskać przesył i późniejszą analizę tych danych z akcelerometru na poziomie minimum 2 kHz. Jak na razie uzyskałem tylko ok 600 Hz. Więc zastanawiam się, gdzie by tu ograniczyć jeszcze czas.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO