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



Teraz jest 28 mar 2024, o 15:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
PostNapisane: 12 cze 2018, o 09:50 
Offline
Nowy

Dołączył(a): 19 lis 2016
Posty: 2
Pomógł: 0

Mam problem z wysyłaniem i odebraniem z rs485. Jest to ATMEGA 8 + max485.

Ma to działać następująco: Wysyłam ramkę pytającą, w odpowiedzi dostaję ramkę od innego urządzenia zawierającą dane które później wyświetlę na LCD. Wysyłanie działa okej. Problem występuje gdy mam odebrać odpowiedź. Gdy wyłączę wysyłanie (za komentuję funkcję TransmissionStart) układ odbiera prawidłowo. W momencie gdy wysyłanie jest uruchomione odbiór nie działa. Odbiera przy każdej ramce tylko jeden znak. Przypuszczam że problem jest w wyłączaniu nadajnika w rs485 (DisableTransmiter), robię to w złym miejscu w kodzie?

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


Zauważyłem, że znaczenie ma po jakim czasie od zapytania układ wyśle odpowiedź. Gdy robię to ręcznie i wyślę po około sekundzie działa dobrze, jednak ten układ który mi odpowiada robi to momentalnie i wtedy nie działa.

Może dobrym pomysłem jest uruchomienie timera który odliczy 1,5 znaku przy każdym wysyłaniu i wywoła TransmissionDisable?



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 5 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO