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



Teraz jest 28 paź 2024, o 18:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 11 sie 2012, o 09:10 
Offline
Użytkownik

Dołączył(a): 11 sie 2012
Posty: 45
Pomógł: 0

Witam.
Chcę sobie zrobić stoper z funkcją zapisu czasów na kartę SD. Niestety namieszałem chyba coś z eliminacją drgań styków i teraz już nie mam pojęcia co jest źle. Program raz działa a raz nie, tzn. zapisze jeden czas (ciągle ten sam ok.460ms) i później jakby się zawieszał.

Kod poniżej:

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


[tylko proszę o umieszczenie kodów w znacznikach [ syntax = c ] na drugi raz - ok? tak jak to poprawiłem teraz - mirekk36]

Proszę o wyjaśnienie problemu.



Ostatnio edytowano 13 sie 2012, o 19:36 przez paavo91, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2012, o 12:07 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Twoja funkcja void klik() jest dla mnie dziwna. Poza tym w tego typu funkcjach nie umieszcza się delay(), bo to funkcje przerwań (Interrupt) i powinny być wykonywane możliwie szybko, by nie blokować swoim działaniem pętli głównej loop(). Twój czas będzie zakłamany przez delay() i dlatego, że później wykonujesz sporo operacji nim odczytasz s i ms. Ja to bym to poprawił w ten sposób

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

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2012, o 16:09 
Offline
Użytkownik

Dołączył(a): 11 sie 2012
Posty: 45
Pomógł: 0

Niestety Twój kod nie działa również. Nie zapisuje wszystkich czasów.

Mój kod po małej modyfikacji działa.



Niestety nie jest dobrze wyeliminowane drganie styków do końca bo czasami zapisze więcej pomiarów niż wciśnięć.



Ostatnio edytowano 13 sie 2012, o 19:34 przez paavo91, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2012, o 17:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

Z jakich bibliotek obsługi kart korzystasz?

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

_________________
Czekamy na RedBook'a!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2012, o 17:17 
Offline
Użytkownik

Dołączył(a): 11 sie 2012
Posty: 45
Pomógł: 0

Biblioteka do kart standardowa w arduino 1.0.



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

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