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



Teraz jest 12 lut 2025, o 06:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 14 maja 2015, o 14:32 
Offline
Nowy

Dołączył(a): 19 kwi 2015
Posty: 2
Pomógł: 0

Witam,
robię dalmierz optyczny oparty o czujnik sharp, skonfigurowałem microswitche do wyzwalania pomiaru pojedynczego ciaglego oraz zatrzymanie pomiaru. Skonfigurowalem rowniez uart- po nacisnieciu przycisku np.pomiar poj atmega wysyla dane do terminala.

Kolejnym krokiem bylo wyzwolenie pomiaru z komputera. Wciskajac odpowiedni przycisk na klawiaturze p-pom poj, c -pom ciagly, s- stop. Napisałem do tego celu standardowa funkcje jak podaje dokumentacja atmegi.

Problem polega na tym ze moge albo robic pomiar za pomoca microswitchy albo z komputera.

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

w momencie kiedy zakomentuje funkcje data=UARTReadChar(); , moge robic pomiar za pomoca microswitchy,
jesli tego nie zakomentuje pomiar robiony jest tylko z klawiatury.
Funkcja odbierająca uart wygląda następująco:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Będę wdzięczny za radę i wszelką pomoc w rozwiązaniu tego problemu.
Pozdrawiam



Ostatnio edytowano 16 maja 2015, o 10:32 przez matez7, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2015, o 21:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

Bo widzisz po wejsciu w funkcję UARTReadChar() tkwisz w niej w bezczynności do czasu aż odbierzesz jakiś znak (while(!(UCSRA & (1<<RXC)));)
Dlatego twoja pętla główna nie przechodzi do sprawdzania pozostałych warunków...
zamiast odbierać w pętli głównej ten znak może po prostu w przerwaniu usart RX przypisują odebrany znak zmiennej data...

http://www.avrfreaks.net/forum/tut-soft ... s?page=all


Autor postu otrzymał pochwałę

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2015, o 14:57 
Offline
Nowy

Dołączył(a): 19 kwi 2015
Posty: 2
Pomógł: 0

Dzięki wielkie za radę , przerwanie+porady od Pana Mirka rozwiązało problem.



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 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO