logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom-owcy problem z instrukcja CONFIG CLOCK = USER

Madergames9 24 Lut 2008 21:52 2158 3
REKLAMA
  • #1 4842513
    Madergames9
    Poziom 15  
    Posty: 212
    Pomógł: 4
    Ocena: 2
    Witajcie.
    Mam zegar na PCF8583, Atmega32 i reszta co potrzebne. Program właściwie już napisany więc wyświetla czas i date i to jest oki. Właściwie jest to kontynuacja wcześniejszego mojego postu co do uruchamiania jakiegoś podprogramu co 1s. Znalazłem instrukcję GOSUB = SECTIC i to by mi pasowało, ale pytanie jest takie czy wykorzystując całą składnię CONFIG CLOCK = USER , GOSUB = SECTIC muszę zmodyfikować zmienne odnośnie czasu, aby program mógł wykorzystać dane pobierane z RTC zewnętrznego..?. Z tego co wyczytałem CONFIG CLOCK = SOFT tworzy własne zmienne "_sec, _min, _hour" czy tak samo jest w przypadku ustawienia tej funkcji na USER...? czy tylko po prostu przepisywac dane pobierane z RTC do tych nowych zmiennych a program sam to juz obsluzy...?
    Pozdrawiam
  • REKLAMA
  • #2 4842768
    gbr3
    Poziom 15  
    Posty: 206
    Pomógł: 1
    Ocena: 1
    Witaj!
    W helpie bascoma jest napisane :

    
    When you choose the USER option, only the internal variables are created. With the USER option you need to write the clock code yourself


    Czyli jezeli wybierzesz opcje USER to tylko zmienne są tworzone ,kod zegara musisz napisać sam.Jak chcesz żeby coś było wykonywane co 1s to połącz INT pcfa z INT atmegi i po sprawie.
    Co do działania z zewn rtc to w SAMPLES/DATETIME masz dobry przykład działania z zewn i wewn rtc.
    Pozdrawiam!
  • REKLAMA
  • #3 4843069
    Madergames9
    Poziom 15  
    Posty: 212
    Pomógł: 4
    Ocena: 2
    Dzięki za odpowiedź. Procedurę odczytu z RTC zewnętrznego na PCF mam napisaną i doczytałem się, że aby skorzystać z tej bibliteki to nazwa zmiennych musi być taka sama. Oczywiście to nie jest żaden problem pozmieniać to w kodzie programu. Problem jest tylko jeden tzn czy wyczytana przeze mnie informacja, że instrukcja GOSUB = SECTIC nie działa z opcją USER w CONFIG CLOCK. Czy jest to prawda, czy tylko przekłamanie co czasami się zdaża?. Najgorsze jest to, że mam taką fajną płytkę dwustronną i chyba będę musiał ją "zapaskudzić" drucikowym połączeniu wyjścia INT RTC z wejściem INT0 procka. Nikt jakoś do tej pory w moim innym poście nie pomógł mi zrobić tego co co GOSUB = SECTIC programowo na RTC zewnętrznym bez odwołania do przerwania INT0. Czy może tym razem ktoś pomoże skoro na SECTIC nie mogę liczyć..?
    Pozdrawiam
  • #4 4844469
    gbr3
    Poziom 15  
    Posty: 206
    Pomógł: 1
    Ocena: 1
    Bez przerwania od INT0 wydaje mi się że się da,ja bym to zrobił tak w funkcji odczytującej z rtc dopisał bym takie cos:
    
    If Rtcsec = Staresec
    Then
    Flaga=0
    Else
    Flaga = 1
    Starecec = Rtcsec
    endif
    

    Czyli za każdym odczytem bedzie sprawdzane czy stare sekundy są zgodne z nowymi (config clock już nie potrzebne) jeżeli tak to nic sie nie wykona flaga=0 jeżeli nie to flaga zostanie ustawiona na jeden a w stare sec zostaną zapisane nowe i tak w kółko pozostaje tylko obsłuzyc zmienną flaga w Twoim programie i powinno być ok
    PS: w bascomie dawno nie pisałem ze może być coś nie tak ze składną ale chyba wiesz o co chodzi :D
    Pozdrawiam
REKLAMA