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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 kwi 2025, o 00:01


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 132 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna strona
    Autor Wiadomość
    PostNapisane: 6 sie 2012, o 07:45 
    Offline
    Użytkownik

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

    Witam. Zostałem przekierowany do tego działu, ponieważ podobno tutaj mogę liczyć na pomoc odnośnie mojego problemu Dopiero zaczynam swoją przygodę z Językiem C i mikrokontrolerami AVR. Mój projekt polega na stworzeniu sterownika, który w zależności od wybranego programu, realizuje włączanie przekaźników na karcie przekaźnikowej RELAY w odpowiednim czasie ( np. Program 1 : od 13- 15 -> kanał 1, od 14-17 -> kanał 2, od 10-13 -> kanał 3 i od 11-17 -> kanał 4)

    Mój program posiada menu, 4 przyciski prawo,lewo,enter escape oraz RTC w oparciu o PCF8583( na razie jeszcze nie mam roku). I teraz mój problem z którym nie mogę sobie poradzić:

    Załóżmy,że czas będzie ustawiony na godzinę 17:59:30

    Chciałbym, żeby po podłączeniu zasilania, wybraniu programu 1,wciśnięciu przycisku enter i po upłynięciu 10 sekund zapalił się napis "sekundy ok" (docelowo będzie to włączenie przekaźnika), a gdy sekundy będą większe od 50s ma pojawić się napis "sekundy nie ok" ( czyli docelowo wyłączenie przekaźnika)

    To co napisałem do tej pory nie spisuje się tak jakbym oczekiwał, ponieważ napis "sekundy nie ok" wyświetla się początkowo, jednak gdy sekundy > 40 NIC się nie dzieje. Zauważyłem, że aby napis "sekundy ok" się wyświetlił muszę o raz DRUGI nacisnąć klawisz ENTER gdy sekundy > 40 i sekundy < 50. Zależy mi na tym aby wyświetlanie napisu "sekundy ok" odbywało się bez ponownego wciskania klawisza ENTER

    Oto co udało mi się zrobić do tej pory:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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: 6 sie 2012, o 08:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Czy muszą być 4 przyciski do sterowania ?



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

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

    Muszą być. A co innego chciałbyś zaproponować?

    A zapomniałem dodać,że sterownik nie może tracić ustawień po zaniku zasilania.



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

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Trzy przyciski, ale jak muszą być to muszą ;)



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

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

    Przyjąłem 3 stany:
    0 - wyłączony - nie związany z czasem, zmieniony na inny stan klawiszem enter
    1 - oczekiwanie na czas załączenia, stałe porównywanie czasu z ustawionym, gdy czas nadejdzie stan zmieni się na kolejny, enter nic nie zmieni
    2 - włączony, oczekiwanie na czas wyłączenia, stałe porównywanie z czasem ustawionym, gdy ten nadejdzie to wyłączenie, enter nic nie zmieni

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 sie 2012, o 14:02 
    Offline
    Użytkownik

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

    Krauser wielkie dzięki, na takim prostym przykładzie zrozumiałem działanie flag i bardzo mnie to cieszy!:D Dziękuje za pomoc.

    Mam kolejne pytanie odnośnie ustawienia dni tygodnia i roku. Dni tygodnia zapisałem:

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


    Jednak nie zmieniają się tak jak powinny.

    Sterownik ,który robię musi również zawierać kalendarz 4-letni. Za bardzo nie wiem jak zaprogramować lata. Z tego co wyczytałem rok to dwa najstarsze bity zmiennej "dni" i trzeba kolejne lata przechowywać w wolnej pamieci PCF

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

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

    Musisz jeszcze bity które zostały nasunąć na odpowiednie miejsce i wtedy to nawet bcd2dec nie jest potrzebne, bo to w końcu jedna cyfra. Kalendarz jest 4 letni w tym zegarze (PCF8583). Ja jednak wolę PCF8563 z kalendarzem 100-letnim. Nie wiem czemu większość wybiera ten pierwszy.

    _________________
    Dragonus Cracovus: Biomagia



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

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

    Muszę zrealizować pracę na płytce EVB 4.3, która ma PCF8583, także to nie był mój wybór. Dni i rok się zmieniają, ale w jaki sposób można zaprogramować z góry dzień, żeby był np. 3 a nie zaczynał się od 0? ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 sie 2012, o 11:46 
    Offline
    Moderator
    Avatar użytkownika

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

    Wpisać do PCF'a 3 ;) do odpowiednich bitów odpowiedzialnych za numer dnia

    _________________
    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: 8 sie 2012, o 13:53 
    Offline
    Użytkownik

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

    do bufora 5 wpisuje:

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



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


    Czy to jest zrobione poprawnie?



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

    Odczyt w porządku, a zapis źle. Podstawowy błąd to taki, że do dni tygodnia wpisujesz 0b111 = 7, a dni tygodnia są od 0 do 6. Zajrzyj do specyfikacji ukladu. Co jest 0 możesz sobie przyjąć sam np. poniedziałek. Taki zapis
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    nic nie mówi i utrudnia analizę. A poniższy... sam oceń.

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


    Teraz mamy 2012. Więc na kolejne 4 lata pełny rok to:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ------------------------ [ Dodano po: 11 minutach ]

    GwynBleidD napisał(a):
    Zna ktoś jeszcze jakieś inne scalaki do RTC? Potrzebuję taki, który podawałby po prostu timestamp unixowy.

    A po co Ci dodatkowy RTC. Podłączasz 32,768kHz do Atmegi na timer2 i zliczasz sekundy w zmiennej 32-bitowej, albo nawet 64-bitowej jeśli nie chcesz mieć problemu w roku 2038.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 sie 2012, o 08:02 
    Offline
    Użytkownik

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

    Zdecydowanie typ wyliczeniowy ułatwił sprawę :) Dzięki ;)

    Zabieram się teraz za podłączenie karty przekaźnikowej RELAY 2.1 i mam pytanie jakiś przykład zasilacza 12v DC który będzie dobry do zewnętrznego zasilania płytki? Bo nie bardzo wiem jaki będzie okej



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

    http://sklep.atnel.pl/pl/p/Zasilacz-12V1.6A/14

    _________________
    Dragonus Cracovus: Biomagia



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

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

    Na razie korzystając z zasilania USB , jeden z pinów podłączyłem do ULN2003. Jedno wyjście przekaźnika podłączyłem do diody a drugie do masy. W momencie gdy jest zasilanie pali się dioda na przekaźniku, a więc rozumiem, że styki zwarte. W momencie kiedy włącza się przekaźnik dioda na karcie przekaźnikowej gaśnie ( czyli styki rozwarte), ale dioda podłączona na wyjście nie pali się.

    Czy jest to spowodowane brakiem zasilania zewnętrznego 12V?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 sie 2012, o 15:48 
    Offline
    Moderator
    Avatar użytkownika

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

    czy przypadkiem nie podłączasz jakoś opatrznie tego przekaźnika ??? popatrz może tutaj:

    http://mirekk36.blogspot.com/2012/04/pr ... cenia.html

    _________________
    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: 9 sie 2012, o 17:10 
    Offline
    Użytkownik

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

    Posiadam płytkę EVB 4.3 i dedykowaną kartę przekaźnikową do tego zestawu RELAY 2.1 . W internecie znalazłem identyczny problem jak mój i doradzono, żeby zamiast usb podać zewnętrzne zasilanie 12V. Po podłączeniu zasilacza problem został rozwiązany, więc myślę ,że u mnie będzie to samo ;)

    Dodatkowo mam jeszcze pytanie. Chcę zasilić PCF8583 z baterii CR1620. Po wsadzeniu baterii do uchwytu na płytce, odpięciu od USB i ponownym podłączeniu czas jest taki sam. Co może być nie tak?



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

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

    A jakaś inna przyczyna, która przychodzi wam do głowy :?:



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

    Ale nie chodzi o sytuację, że podczas startu wpisujesz czas do zegara i odłączenie, a później podłączenie zasilania to reset procesora i ponowne wpisanie tego samego czasu. Pytam bo masz takie linie w programie, a docelowo czas powinien być ustawiany przy użyciu klawiatury.

    _________________
    Dragonus Cracovus: Biomagia



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

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

    Na sztywno w programie wpisuję godzinę od której ma zacząć się odliczanie, wgrywam hexa na płytkę, następnie odłączam usb i podłączam ponownie,żeby sprawdzić czy czas poszedł do przodu. Ale rzeczywiście następuje wtedy reset i czas odliczany jest od nowa. Nie chcę wpisywać czasu z klawiatury tylko mieć z góry zaprogramowany czas oraz datę. Co w tej sytuacji mogę zrobić ? Proszę o pomoc



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

    Podczas tego uruchamiania możesz sprawdzać stan jakiegoś przycisku (może być też zworka/jumper). Jeśli podczas uruchamiania przycisk jest wciśnięty (założona zworka) to wpisujesz czas, a w innym przypadku nie wpisujesz.

    _________________
    Dragonus Cracovus: Biomagia



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

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

    Kurcze nie bardzo rozumiem. To dopiero mój pierwszy projekt :(



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

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

    i zamień na:
    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: 13 sie 2012, o 13:56 
    Offline
    Użytkownik

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

    Dzięki! Wszystko gra! Projekt idzie do przodu, ale nie bardzo wiem w jaki sposób można nie tracić ustawień np. jeżeli wykonywany jest program 1 w przypadku zaniku zasilania ?



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

    W PCF8583 masz obszar wolnej pamięci, gdzie możesz sobie ustawienia zapisać druga opcja to EEPROM procesora. Nie wiem co tam jest po podaniu zasilania w PCF8583 (sam sprawdź), ale w EEPROM sprawdzasz podczas startu programu czy zapis jest różny od 0xFF i wtedy ładujesz te ustawienia w miejsce domyślnych. Jak chcesz się zabezpieczyć przed błędnymi danymi to dla każdego bajtu możesz zużyć 2 komórki i w pierwszej masz bajt a w drugiej bajt zanegowany. Odczytujesz dwa bajty i jeśli pierwszy to zanegowany drugi to bajt jest poprawny.

    _________________
    Dragonus Cracovus: Biomagia



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

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

    Krauser dzięki za pomoc ale to co napisałeś jest dla mnie zbyt ogólne.

    Z tego co czytałem w internecie, można sprawdzić napięcie. Jeżeli spadnie poniżej jakiejś wartości następuje szybki zapis do eeprom. Druga opcja to podpowiedź Krausera, aby podczas startu sprawdzić czy zapis jest różny od 0xFF. Ale nie mam pojęcia jak to zrobić. Już powoli się poddaje :|



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

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

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

    Na razie przerobiłem funkcje EI2C_write_buf aby pasowała do mojego EEPROM-u (24C02):



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

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

    1. Na końcu funkcji PROGRAM 1 można dodać zapis do pamięci.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Dla 24c02 funkcje zapisu można jeszcze uprościć, przecież jest tylko 1 strona (256 bajtów).

    Funkcja odczytu powinna być przed pętlą główną. Jeśli flaga jest równa 2 to należy zamienić ją na 1. Przy odłączeniu zasilania i tak przekaźnik się wyłączy, a po podaniu zasilania powinien zostać dodany do "planu" włączeń zgodnie z harmonogramem czasowym.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Pamięć EEPROM ma ograniczoną ilość cykli zapisu, a RAM w zegarze PCF8583 z podtrzymaniem bateryjnym nieskończoną, poza tym zapis jest szybszy. Dodatkowa zaleta to taka, że jak bateria zegara się rozładowała i wystąpił zanik zasilania - czas nie jest poprawny - nie ma sterowania przekaźnikami, bo te dane też zniknęły. 3 linie się zmienią jeśli zapisujesz do pamięci zegara.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    2. Wykrywanie zaniku zasilania realizuje się poprzez kontrolę napięcia przed stabilizatorem 5V np. dodatkowym komparatorem. Po odcięciu zasilania napięcie przed stabilizatorem szybciej spada podczas gdy za stabilizatorem jeszcze długo utrzymuje się 5V. Wyjście komparatora podłącza się poprzez tranzystor npn do wejścia INTx. W obsłudze przerwania dokonuje się zapisu.

    _________________
    Dragonus Cracovus: Biomagia



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

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

    Kod umieściłem zgodnie z instrukcją ale nie działa

    Przed pętlą główną jest odczyt 8 bajtów do writeBuf od adresu 0x10 z pamięci RAM RTC, natomiast zapis z writeBuf pod adres 0x10:



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

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

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

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

    i w pozostałych podobnie.

    _________________
    Dragonus Cracovus: Biomagia



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

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

    A więc zmieniłem.Działa, ale nie tak jak powinno. W momencie ponownego podłączenia zasilania muszę wcisnąć JESZCZE przycisk enter aby przywrócić ustawienia które zapisały się w pamięci RAM PCF8583. W Programie ENTER występuje flaga_blokada służąca temu aby w momencie gdy przycisk enter jest wciśnięty nie działały przyciski lewo prawo:

    Oczywiście w momencie uruchomienia muszę wcisnąc escape ( wtedy flaga_blokada=0), aby móc poruszać przyciskami w prawo i lewo. Nie muszę już wciskać przycisku ENTER gdy ponownie podłączam zasilanie, jednak przycisk ESCAPE nie działa poprawnie tzn. widać, że flaga_blokada =0 ponieważ jest możliwość używania przycisków prawo,lewo i napis np " przekaźnik 2" nie gaśnie choć powinien . Ponad to jeżeli w momencie naciśnięcia przycisku escape wybiorę sobie licznik =2, czyli program 2, to i tak wykonuje się program 1 :| Wydaje mi się, że to jest wina licznika. Czy dobrze myśle?



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

    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ę 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