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



Teraz jest 2 sty 2025, o 15:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 132 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona
Autor Wiadomość
PostNapisane: 15 sie 2012, o 20:59 
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

Dodałeś element do bufora (flaga_blokada) , ale nie zmieniłeś rozmiaru w funkcji odczytu (a może również zapisu). Masz 4, a powinno być po dodaniu 5.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Zmieniłem tylko tu na forum jest pomyłka. Wyświetliłoby mi warning :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2012, o 11:06 
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

rafkins22 napisał(a):
Zmieniłem tylko tu na forum jest pomyłka. Wyświetliłoby mi warning :)

Nie wyświetli ostrzeżenia. Ta liczba to tylko ilość bajtów do odczytu i wcale nie musi pokrywać się z rozmiarem bufora. Funkcja nie zna rozmiaru bufora tylko miejsce gdzie się on zaczyna. I taka instrukcja TWI_write(*buf++); może wykonać się na komórkach pamięci poza buforem i np. nadpisać inna zmienną.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Masz rację! Zwracam honor ;)



Ostatnio edytowano 16 sie 2012, o 15:41 przez rafkins22, łącznie edytowano 1 raz

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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Jednak nadal NIE DZIAŁA! :|
Krauser bardzo proszę o pomoc, bo widzę, że nikt inny nie ma takich chęci, ponieważ walczę z tym cały dzień, próbowałem na milionów sposobów i dalej lipa.

Opiszę to dosyć dokładnie.
LCD:
------------------------
MENU STEROWNIKA:
Program:
------------------------

Kiedy mam podłączone zasilanie i wybiorę program 1 ( program się wykonuje się), a gdy następnie odłączę zasilanie i ponownie podłączę nadal wykonuje się program 1, czyli OK. Następnie klikam przycisk ESCAPE, który cofa się do menu głównego ( licznik zostaje zapamiętany, równy 1).

------------------------
MENU STEROWNIKA:
Program: 1
------------------------

Niby wszystko jest okej, ale gdy ponownie odłączę i włączę zasilanie nadal wykonywany jest Program 1:
np.-

------------------------
Przekaźnik 1 ....

-------------------------


Wiem, że jest to spowodowane tym, że flaga_zasilania w momencie utraty zasilania jest zawsze równa 1, ale nie mam pomysłu co można z tym zrobić



Ostatnio edytowano 10 sty 2013, o 11:07 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2012, o 16:23 
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

No przecież jak klawisz escape ma przerywać działanie np. PROGRAM1 to to co zachowałeś w pamięci musisz teraz wyczyścić (wyzerować wszystkie wartości). Dodaj wpisywanie zer w funkcji klawisz_escape
PS.
Nie wiem dlaczego w funkcji klawisz_escape ładujesz licznik zachowany w pamięci zegara, bo niby powinno to być robione przed pętlą raz przy starcie programu. W niczym to nie przeszkadza, ale chyba to bez sensu.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Czyli rozumiem, że trzeba wyzerować wszystkie flagi programu 1 i 2 oraz flaga_blokada i flaga_zasilanie. Tak?



Ostatnio edytowano 10 sty 2013, o 11:07 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2012, o 07:20 
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

Nie tylko wyzerować, ale i zapisać wyzerowane do pamięci nieulotnej. Jak tego nie zrobisz to pomimo wejścia do menu głównego w przypadku odłączenia i powrotu zasilania zmienne zostaną przywrócone.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Ale i tak ta linijka ustawi flage na 1:
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: 17 sie 2012, o 18:45 
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

rafkins22 napisał(a):
Ale i tak ta linijka ustawi flage na 1:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A niby dlaczego jak tam będzie zapisane 0.
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: 18 sie 2012, o 19:12 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Mam pytanie. Jak widać przekaźnik 4 wyłączy się jak sekundy>50. Jednak kiedy sekundy są większe od 50 i wcisnę enterem program 1 to wyświetla się napis "zakonczono...", czyli okej, ale gdy sekundy ponownie dojdą do 10 nie zapala się dioda 1 . Dlaczego?



Ostatnio edytowano 10 sty 2013, o 11:08 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sie 2012, o 07:46 
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

Bo po zakończeniu PROGRAM1 masz wyzerowane flagi. Jak chcesz aby program działał cyklicznie to po LEDx_OFF ustawiaj flagę na 1 a nie 0. W tym powyższym przykładzie w ogóle brakuje przestawiania flagi na końcu i to wykona się tylko raz i wciśniecie enter nic nie da, chyba że w międzyczasie wykonasz PROGRAM2. Jeszcze taka uwaga odnośnie warunku. Jak np. dla przekaźnika 4 sekundy są większe od 50 to nastąpi chwilowe włączenie (na kilka us). Przekaźnik nawet nie zdąży zareagować, ale to jednak błąd.
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: 20 sie 2012, o 12:40 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

ok dzięki.
Powtarza się cyklicznie po jednokrotnym wciśnięciu przycisku enter. Jest tylko jeden problem, ponieważ gdy sekundy>50 i odłączę i włączę zasilanie nie ma napisu " Oczekiwanie..." a gdy sekundy dojdą do 10s Przekaźnik 1 się zapala. Wniosek jest taki, że jest zapis flag do pamięci RAM RTC i działa, tylko chyba flaga_p1_p4 przy wczytaniu po ponownym podaniu zasilania jest równa 1, dlatego "oczekiwanie.." nie działa. Nie wiem jak to mogę rozwiązać



Ostatnio edytowano 10 sty 2013, o 11:08 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 sie 2012, o 14: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

Jak chcesz mieć dokładnie to co w momencie wyłączenia to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

I tak zmień sobie dla każdej flagi.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Gdy odłączę zasilanie w momencie kiedy działa przekaźnik 1 i szybko ponownie podłącze to dopiero program 1 ponownie zostanie wznowiony kiedy zapali się przekaźnik 2 ( czyli flaga_p1_p2=1). Przekaźnik 1 nie będzie kontynuował pracy



Ostatnio edytowano 10 sty 2013, o 11:09 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 sie 2012, o 21:10 
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

Przekaźnik nie załączy się, bo załadowany z pamięci został stan 2 (on), a dla tego stanu nie jest sprawdzany warunek czasowy włączenia. Musisz wrócić do poprzedniego sposobu wczytywania flag. A odnośnie wyświetlania "Oczekiwanie..." trzeba wymyślić inny sposób, gdy flaga jest równa 1:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pewnie jednak wystąpi migotanie, ale chyba wcześniej też już było bo nie zmieniasz flagi flaga_p1_p4.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Przeczytałem dzisiaj w książce temat o magistrali 1wire i stwierdziłem, że spróbuje dodać wyświetlanie temperatury do mojego sterownika

Ale wyświetla ERROR. Może mam źle podłączony czujnik. W trybie normal DQ jest podłączone do portu ( PD4) oraz przez rezystor 10K do VCC. Połączony mam JP31 z PD4

link do instrukcji EVB 4.3 http://www.and-tech.pl/pl/download/evb43-v4



Ostatnio edytowano 10 sty 2013, o 11:09 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2012, o 18:20 
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

No tak na schemacie brakuje węzła (kropki na linii DQ) więc nie wiadomo czy linia DQ od termometru czy ta od gniazda jest podłączona. Sprawdź to. Najlepiej odpal program testowy do 1-Wire od producenta zestawu albo inny gotowiec. Jak będziesz pewny sprzętu to zajmij się programem. Skąd wiesz gdzie jest JP3.1, bo nie podpisano? Lepiej podłącz się do SV1.2(środkowy).

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2012, o 18:52 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Właśnie początkowo podłączałem do SV1.2 ale nie działało więc stwierdziłem, że JP3.1 jest odpowiedni. Program z DVD też odpalałem ale właśnie PD4 było podłączone do SV1.2, a nie sprawdzałem do JP3.1. Może coś w kodzie jest nie tak :?:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2012, o 19:48 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

rafkins22 napisał(a):
Właśnie początkowo podłączałem do SV1.2 ale nie działało więc stwierdziłem, że JP3.1 jest odpowiedni. Program z DVD też odpalałem ale właśnie PD4 było podłączone do SV1.2, a nie sprawdzałem do JP3.1. Może coś w kodzie jest nie tak :?:


Jeżeli to jest program z płyty z książki Mirka to działa na 100%. To kwestia konfiguracji, albo połączeń.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2012, o 20:16 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27324
Lokalizacja: Szczecin
Pomógł: 1041

rafkins22 napisał(a):
Może coś w kodzie jest nie tak :?:


Masz rację ;) .... jak tylko coś ci nie wyjdzie to od razu wiadomo co jest nie tak .... babol w kodzie z książki..... super podejście.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2012, o 10:38 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

MirkoT napisał(a):
Masz rację ;) .... jak tylko coś ci nie wyjdzie to od razu wiadomo co jest nie tak .... babol w kodzie z książki..... super podejście.



A czy ja tak napisałem?

Może przepisując gdzieś się pomyliłem i nie widzę błędu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2012, o 11:25 
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

Nie przepisuj kodów tylko skopiuj cały projekt i dostosuj do swojej płytki. Jak nie wiadomo gdzie jest błąd to trzeba sprawdzać osobno każdy moduł programu.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Odpaliłem 1wire i Projekt wielozadaniowy z DVD Pana Mirosława i wszystko działa. Podłączyłem do JP3.1. Jednak mój program nie wyświetla temperatury :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2012, o 12:20 
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

Nie wiem co tam później może być nie tak, bo może sobie coś nadpisujesz innym działaniem, ale zaraz przed pętlą główną programu musi zadziałać. Może dodaj na chwilę przed pętlą główną po 1 odczycie opóźnienie ze 2 sekundy.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2012, o 13:30 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Niestety nic to nie dało. Próbowałem podłączać do kilku portów ale nadal lipa . Spróbuje z tym powalczyć, chociaż nie wiem co innego można jeszcze zrobić jeśli kod jest okej

Szukając błędu znalazłem przy okazji że w kodzie SuperDebounce jest taki kod:

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



Nie powinno być tak :?:

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: 23 sie 2012, o 17:03 
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

Masz rację. Na swojej płytce masz rezonator 16MHz i musisz przeliczyć wartość OCR2.

_________________
Dragonus Cracovus: Biomagia



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

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

http://atnel.pl/uaktualnienia-programow-do-dvd.html

post6106.html#p6106

http://www.atmel.com/Images/doc2503.pdf

strona 82



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2012, o 19:01 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Ale w AVR Studio mam ustawione na 8MHz :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2012, o 19:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27324
Lokalizacja: Szczecin
Pomógł: 1041

A w jakiej wersji AVR Studio piszesz ten kod ? tak z ciekawości zapytam i jak masz ustawione w AVR Studio te 8MHz ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/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: 132 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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