Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zegar,data,termometr na Atmega32.Jak dopisać alarm?

inspector_electro 01 Lut 2013 16:00 1737 6
  • #1 01 Lut 2013 16:00
    inspector_electro
    Poziom 22  

    Witam wszystkich
    Jestem w posiadaniu takiego zegara jak w temacie.Jestem baaardzo początkujący, ale udało mi się dodać termometr jednopunktowy do tego zegara.Zacząłem kombinować z dopisaniem alarmu ,ale po 2 dniach walki odpuściłem.Nie wiem jak zrobić kilka rzeczy:
    Gdzie zacząć dopisywać kod?
    Jak pod przyciski przypisać alarm ,które już są?
    Jakie polecenia?
    Przejrzałem dużo postów i kilka przykładów nawet jeden mam ,ale jakoś nie mogłem ich powiązać z moim zegarem.Wiem że muszę alarm dopasować do komend i wpisów które już są, ale nie bardzo wiem jak.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0 6
  • #3 02 Lut 2013 12:49
    inspector_electro
    Poziom 22  

    No tak ,tylko że te przykłady co ja widziałem niestety nie podpowiadają mi jak to zrobić z moim zegarem.Jest dużo teorii i nie wiele praktyki.Generalny problem to ,jak zacząć ,czy jest potrzebna duża ingerencja w ten kod.Samo połączenie PCF-a po i2c nie stanowi problemu ,bo adresy są do budzika.Najbardziej chodzi oto, jak zacząć.

    0
  • #4 02 Lut 2013 13:52
    slx
    Poziom 18  

    Tak na szybko, nie testowane - nie mam bascoma
    to co dopisane zmienione oznaczone komentarzem ' ********* dopisane alarm

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #5 02 Lut 2013 14:13
    inspector_electro
    Poziom 22  

    Nie bardzo wiem co jest grane ,ale błędy odwołują się do biblioteki PCF8583.bas, która jest potrzebna przy kompilacji.

    Zegar,data,termometr na Atmega32.Jak dopisać alarm?

    Brakuje tego :
    Na dole są te błędy ,ale tej drugiej linijki kompletnie nie rozumiem.

    Zegar,data,termometr na Atmega32.Jak dopisać alarm?

    Druga linijka w bibliotece mówi tak:
    Error = Pcf8583_read(rtc_bufor(3) , Pcf8583_seconds , 5) ' odczytaj 5 bajtów od adresu 0x02, i zapisz do tablicy zaczynającej się od rtc_seconds (rtc_bufor(3))

    Czyli chodzi o obsługę i2cwbyte itd.??

    Chyba sam sobie odpowiedziałem.Tylko nie wiem czy ja to bobrze robię. Zegar,data,termometr na Atmega32.Jak dopisać alarm?

    Naskrobałem coś takiego ,i doszedłem do tego że zatrzymuję sekundy na lcd ,ale za chiny nie mogę wyczyścić lcd.Po naciśnięciu s7 wchodzi w ustawienia zegara w tym czasie aby ustawić alarm ,wciskam s6 i jest napis alarm i migający kursor.Reszta treści lcd zostaje czyli zegar i data.


    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Udało mi się w końcu wyświetlić poprawny format alarmu.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Prosiłbym aby co niektórzy nie zachowywali się jak dzieci ,raportując moje posty :
    Data zgłoszenia: 15:56:45 2013-02-02

    Opinia użytkownika:
    ==========
    "Widać autor czeka na gotowca, zero własnej inicjatywy ->"
    Właśnie że cały czas pracuję i nie czekam na gotowca.A to że napiszę na forum to i owo w moich poczynaniach ,może komuś pomóc.I nie czekam na gotowce.

    0
  • #6 02 Lut 2013 18:22
    Mundi1970
    Poziom 24  

    Podpowiem jedną rzecz. :) Nie definiuj nowych zmienny i nie pisz nowych funkcji żeby zapisać/odczytać rejestry alarmu, to jest gotowe. Przyglądnij się fragmentom pliku Config_PCF8583.bas:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    na początku pliku Config_PCF8583.bas jest:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Po zmianie 0 na 1 w stałej _clock_alarm, podczas kompilacji zmienne do obsługi alarmu zostaną dołączone. Teraz przykład jak odczytać jeden bajt Alarm Control Register z układu PCF8583:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Drugi przykład zapis dwóch bajtów do alarm minutes i alarm hours w PCF8583:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Zmienne Byte_offset, Error, minuty i godziny (wszystkie jako bajt) należy sobie samemu zdefiniować, nie należą do biblioteki.

    0
  • #7 02 Lut 2013 18:34
    inspector_electro
    Poziom 22  

    O kurcze rzeczywiście.Nie przyglądałem się tej bibliotece.Więc tak:
    Zamiast definicji "i2cwbyte" ---> Zmienne Byte_offset, Error, minuty i godziny
    DIM Byte_offset as byte(czyli jako bajt) dim error as byte.Dobrze myślę?

    EHHHh.Mimo tego że mam zdefiniowane te zmienne jako byte, mam błędy na offset i error.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Kurde.Nie bardzo wiem czemu mi cały czas wywala błąd:
    "source variable does not match the target wariable"
    Zmienna ścieżki nie pasuje do zmiennej docelowej.Nie czaję tego.

    Próbuję pcfa zapisać tak:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Co robię nie tak?? nie mogę dojść z tym do ładu.

    Czy to ma tak wyglądać?:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Męcze sie z tym ,ale coś nie idzie.

    Mógłby ktoś obejrzeć teraz ten kod? bo nie mam już siły.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0