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



Teraz jest 1 gru 2024, o 13:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 4 wrz 2018, o 14:31 
Offline
Użytkownik

Dołączył(a): 10 gru 2016
Posty: 34
Pomógł: 1

Cześć,
Zrobiłem urządzenie z nadajnikiem opartym na chipie nRF24L01+. Problem jest taki, że każda drobna zmiana wykonywana (chodzi o czas wykonywania, który się wtedy zmieni) w pętli głównej programu wpływa na nadawanie. Dla przykładu: w zamieszczonym przeze mnie kodzie poprawnie nadawane są dane o akutalnym napięciu (XPotVoltage, YPotVoltage) natomiast komenda TX, którą wysyłam nie zostaje nadawana wcale. Jednak dodając wewnątrz funkcji nRF24L01+ opóźnienie rzędu 10us wszystko zaczyna działać poprawnie do momentu dodania obsługi wyświetlacza OLED, wtedy dane o napięciu są wysyłane poprawnie, ale komenda TX wysyłana jest losowo przy poruszaniu joystickiem, z którego czytam napięcie.

Poprawność działania testuję na terminalu, do którego trafiają dane z odbiornika. Używałem też analizatora stanów logicznych, funkcja nadająca "TX" w ogóle jakby się nie wykonywała.

Korzystam z tej biblioteki: https://forum.atnel.pl/topic11377.html

@EDIT: co ciekawe inicjalizacja OLED powoduje całkowite niedziałanie nadawania.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Z góry dziękuję za podpowiedzi,
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 16:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

Może Ci się gryzie śpi? Jak masz to podłączone? Zwłaszcza chip select? Podrzuć schemat i konfigurację śpi dla wyświetlacza i nrf.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 21:10 
Offline
Użytkownik

Dołączył(a): 10 gru 2016
Posty: 34
Pomógł: 1

Wyświetlacz mam na I2C. W przypadku ATmegi32 są do tego używane piny PC0, PC1, ale trop może być dobry, bo możliwe, że zakłóca mi się SPI z programatorem, zaraz to sprawdzę.

------------------------ [ Dodano po: 12 minutach ]

Niestety, też nie chodzi o zakłócanie SPI przez programator. Ciągle ten sam problem...

Obrazek
Tutaj część schematu z programatorem, OLED'em i nRF'em.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 wrz 2018, o 21:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

PB4 masz ustawiony jako wyjście?

Na i2c masz rezystory pociągające do vcc?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2018, o 14:28 
Offline
Użytkownik

Dołączył(a): 10 gru 2016
Posty: 34
Pomógł: 1

Przepraszam, że nie pisałem, ale zapomniałem o tym wątku. Rozwiązałem problem. Okazało się, że zapomniałem podpiąć wyświetlacz pod I2C mimo, że go sterowałem przez co funkcja TWI_Start() blokowała działanie programu pętlą oczekującą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 wrz 2018, o 10:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

RybaSG napisał(a):
Przepraszam, że nie pisałem, ale zapomniałem o tym wątku. Rozwiązałem problem. Okazało się, że zapomniałem podpiąć wyświetlacz pod I2C mimo, że go sterowałem przez co funkcja TWI_Start() blokowała działanie programu pętlą oczekującą.


Fajnie, że problem rozwiązany. Miałem w wątku pytać Cię właśnie, czy w obsłudze TWI masz obsługę błędów transmisji, timeouty lub przerywanie transmisji po iluśtam nieudanych próbach, czy sprawdzasz co w rejestrze TWSR. Niestety z braku czasu nie zdążyłem pomóc.



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: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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