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



Teraz jest 28 mar 2024, o 14:56


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 8 sty 2018, o 19:16 
Offline
Nowy

Dołączył(a): 08 sty 2018
Posty: 5
Pomógł: 0

Witam !
Niedawno zacząłem zabawę z mikrokontrolerami ze względu na zajęcia laboratoryjne na studiach. Jako jeden z zaliczających projektów wykładowcy dali nam zadanie aby stworzyć układ który:
Obsłuży serwo sg 90 - przy pomocy 2 przycisków na płytce oraz komend USART. Projekt ma zawierać 3 diody (użyłem 4 aby zobrazować restart programu), które pokażą gdy serwo wychyli się maksymalnie w lewo, jest położone centralnie bądź maksymalnie w prawo, przy naciśnięciu jednego klawisza nastąpi obrót w lewo, drugiego w prawo oraz dwóch jednocześnie spowoduje wyśrodkowanie serwo. W taki sam sposób ma być zrealizowane przy pomocy USART'a - przy wysłaniu L nastąpi obrót w lewo, P w prawo a C wycentruje serwo. Niedługo dodam lcd - ale to jeszcze nie jest problemem

Poniższe 2 kody przedstawią dwie sytuacje:

1. Obsługa tylko i wyłącznie przycisków na płytce bez inicjalizacji USART(działa tak jak należy - planuję dodać krokowe zwiększanie wartości obrotu, a przy podwójnym naciśnięciu przycisku wychył maksymalny):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

2. Nieudana obsługa płytki oraz USART jednocześnie(działa tylko USART):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pytałem się prowadzących na zajęciach i doradzili mi aby zastosować przerwania USART aby atmega "nie sprawdzała" ciągle czy coś jest wysyłane z USART'a tylko w przypadku przerwania a w funkcji main znajdowały się tylko przyciski - i tutaj jest największy problem gdyż nie mam pojęcia jak go zastosować. Próbowałem to zrealizować w sposób jak pokazany poniżej lecz niestety nie działa i nie mogę znaleźć rozwiązania problemu. W miarę możliwości prosiłbym o pomoc, a dodatkowo chciałbym zapytać czy jest inna możliwość realizacji przypadku 2 przycisków(wyśrodkowania serwo) - ponieważ nie zawsze uda się nacisnąć 2 przyciski jednocześnie co jest bardzo denerwujące.

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


Obrazek

Serdecznie Pozdrawiam :)
Michał K



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2018, o 20:35 
Offline
Nowy

Dołączył(a): 08 sty 2018
Posty: 1
Pomógł: 0

Hej,
Skorzystaj z gotowego przykładu M. Kardasia 07_UART z "Mikrokontrolery AVR Język C Podstawy programowania".
Tam masz opisany przykład takiej realizacji obsługi UARTA która Cię interesuje ;)

[ Panie kochany - zamiast wklejać kody bibliotek z książki - można podać informację o książce - a nie tak jak ty robisz. Gdyby tak każdy powklejał sobie kody - to po co mi pisać książki i biblioteki ? pomyślałeś o tym kiedyś ? - więc bardzo proszę o zdroworozsądkowe podejście ok ? - mirekk36 ]



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

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