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



Teraz jest 19 kwi 2024, o 11:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 13 lis 2018, o 13:11 
Offline
Użytkownik

Dołączył(a): 08 wrz 2012
Posty: 505
Pomógł: 6

Mam pytanie, jak zastąpić poniższy kod?

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


Chodzi o to, żeby dioda była zapalona przez 1 sekundę a zgaszona przez 200ms. Oczywiście bez delay.

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

nie rozwiązuje problemu bo miga diodą cyklicznie, taki sam jest czas świecenia jak zgaszenia.

Zawsze w takich przypadkach mam dylemat, jak to zrealizować. Jakoś tam daję radę z tego wybrnąć, ale przeważnie są to "karkołomne przewrotki gimnastyczne" a zapewne można prościej.
Podpowiedzcie coś proszę. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2018, o 13:26 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 181
Lokalizacja: Kraków
Pomógł: 30

Wystarczy dodać zmienną pomocniczą, która będzie zapamiętywać jak czas był ostatnio ustawiony:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2018, o 13:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1960
Lokalizacja: Lipsko
Pomógł: 125

Coś mi się przypomina, że robiłem kiedyś podobne rzeczy tylko prościej bez dodatkowej zmiennej sprawdzając tylko stan portu na którym podpięta jest dioda LED i chyba to wystarczyło do działałania :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2018, o 14:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Jak czytam o mruganiu diodami, to przypomina mi się robalkowa zabawa na Mirka blogu. :)
Dla przypomnienia archiwalny link ROBAL
To były czasy. ech.. :)

Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2018, o 22:00 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

Może tak:
Gdy dioda świeci to timer--
Gdy dioda jest zgaszona to timer = timer - 5
Uzyskasz wtedy proporcje świeci/nie świeci 1/5

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2018, o 07:01 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Poczytaj o timerach programowych w YB.



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

Dołączył(a): 08 wrz 2012
Posty: 505
Pomógł: 6

micky nie mam jeszcze YB.

JarekB takie i podobne metody stosowałem dotychczas, ale to w mojej opinii są kombinacje, które nie do końca realizują zadanie. Zadając pytanie miałem nadzieję, na bardziej profesjonalne sposoby których chciałbym się nauczyć, ale dziękuję :-)

Daro69 oczywiście nie chodzi o mruganie diodą. Tak jest najprościej przedstawić zadanie i w miarę łatwo zrozumieć rozwiązanie problemu.

Dziękuję za wszystkie podpowiedzi za chwile przysiądę się do prób zobaczymy co wymyślę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2018, o 11:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

To wspomnienie o robalu i link do zadania, to nie przypadek. :)
Liczyłem że kolega się zainteresuje i poszuka inspiracji. ;)

Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2018, o 12:13 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

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


W pętli głównej wpiszesz sobie wartość diodo_swiec 4 lub zero.

:)

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Ostatnio edytowano 14 lis 2018, o 21:21 przez JarekB, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2018, o 12:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

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

Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2018, o 22:04 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

No dobrze niech to ktoś skoryguje.
Załóżmy że dioda jest podłączona do PORTA pin 5
To gdybyśmy w przerwaniu timera zrobili tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czyli gdy na porcie A wystawiona jedynka to czas jest 4 razy krótszy niż gdy jest zero.
Jedna linijka w przerwaniu i żadnych zmiennych pomocniczych.
Zadziała?

P/S
Oczywiście jest jedna pułapka zmieniając wartość 4 na inną można nie trafić w "0"

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2018, o 11:42 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

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


"Potworek" to brzmi nieźle.
Ale dla ciekawości trzeba będzie się pobawić i sprawdzić jak zachowa się kompilator przy tworzeniu zmiennych pomocniczych.
Sprawdziłem wcześniej mojego potworka w pliku .lss Sprawdzę jak to będzie wyglądać przy zastosowaniu zmiennych pomocniczych. Dam znać. Sam jestem ciekaw.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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