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

[Rozwiązano] Nauka pisania w Bascomie sprawdzenie kodu zegara i termometru .

adamekamator 08 Sie 2018 21:50 765 17
  • #1 17373999
    adamekamator
    Poziom 17  
    Drodzy koledzy mam taki program wyświetlam czas z pcf 8583p na zmianę z temperaturą z ds18b20 . Chcę by ktoś doświadczony pomógł mi zoptymalizować kod oraz wytknął złe pisanie .Wyświetlam na 4 x 7seg więc wyswietlam czas bez secund i temperaturę całkowitą i dodatnią bo i tak nie udało mi się tego wyświetlić . Oto co wyskrobałem
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #2 17374015
    Konto nie istnieje
    Konto nie istnieje  
  • #3 17374017
    adamekamator
    Poziom 17  
    Zrobić tak by wyświetlał część ułamkową
  • #4 17374059
    Konto nie istnieje
    Konto nie istnieje  
  • #5 17378219
    adamekamator
    Poziom 17  
    Poprawiłem nieco kod i wygląda tak :
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    tylko co jest nie tak bo wyświetla cały czas 0st.C i jak minie pełna godzina to zamiast np. 16:01 wyświetla 16:51 i tak aż do 16:10 potem już jest wszystko dobrze . Czy to jest uszkodzony PCF czy podciągniecie do +5V wine bo ma 10kΩ
  • #6 17378298
    Konto nie istnieje
    Konto nie istnieje  
  • #7 17378366
    adamekamator
    Poziom 17  
    Kolego nowyARM wymienię na 4.7kΩ do 1wire jest 4.7kΩ tylko do I2C mam 10kΩ . Co do zmiennej
    Q_zmiana to ona odmierza 5 sekund i zmienia wyświetlanie , czemu jest ten zapis Q_zmiana = 6 po to jak ustawiam czas to by cały czas wyświetlało tylko zegar .

    Dodano po 4 [minuty]:

    Dodam że z tymi minutami to wystarczy zresetować procesor i wyświetla zero lub odłączyć mu zasilanie na kilka sekund PCF jest przez diodę do zasilania obok siebie ma 1000µf/16V więc nie kasuje tak szybko pamięci.
  • #8 17378677
    Konto nie istnieje
    Konto nie istnieje  
  • #9 17379808
    adamekamator
    Poziom 17  
    Kolego coś takiego wymyśliłem :
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    tylko coś nie tak z pomiarem temperatury używam 3 przewodowego połączenia z DS jak dobrze doczytałem to zgłasza koniec konwersji muszę z tym popróbować bo mój pomysł nie wypalił z ustawianiem flagi.
  • #10 17379888
    Konto nie istnieje
    Konto nie istnieje  
  • #11 17379985
    adamekamator
    Poziom 17  
    Co masz na myśli udziwnienia zmieniłem funkcje wyświetlania dziesiatek i jedności i użyciem makebcd przeniosłem warunek odpowiadający za wyświetlanie teraz minuty wyświetla poprawnie
  • #12 17383948
    adamekamator
    Poziom 17  
    Przepraszam za błędy . Kolego temu tu jestem bo nie jestem zawodowym programistą i rozważam każdą sugestie zauważ że w ostatnim kodzie przerwanie obsługuje tylko wyświetlanie a zmianę mam w pętli głównej warunkiem .Możesz mi wytłumaczyć co dziwnego w mym pisaniu ? Np.?
  • #13 17384004
    Konto nie istnieje
    Konto nie istnieje  
  • #14 17384359
    adamekamator
    Poziom 17  
    Wielkie podziękowanie za rozjaśnienie co cię drażni tylko że zmiennych Sekundy,Minuty,Godziny używam w kilku podprogramach więc muszę zostawić je jako globalne czy się mylę ? Te dwie zrobiłem jako lokalne bo tylko w tym podprogramie sa używane
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    Czy to złe rozwiązanie?
  • #15 17384409
    Konto nie istnieje
    Konto nie istnieje  
  • #16 17384776
    adamekamator
    Poziom 17  
    Kolego tera nie działa mi ustawianie godzin a zrobiłem to tak
    deklaracja:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    tak funkcja:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    Nie zrozumiem jak to przekazuje wynik zmiennej minuty z funkcji do globalnej zmiennej minuty
  • #17 17409447
    adamekamator
    Poziom 17  
    Koledzy mam pytanie jak inaczej niż przez polecenie GETRC5 odczytać pilota ? To polecenie blokuje mi przerwanie i spowalnia procesor . Działa zegarek tylko brak odczytu DS bez tego GETRC5 działa poprawnie a chciałem pilotem ustawiać zegarek. Ma ktoś pomysł jak to ominąć
  • #18 17410598
    adamekamator
    Poziom 17  
    Koledzy mam pytanie jak inaczej niż przez polecenie GETRC5 odczytać pilota ? To polecenie blokuje mi przerwanie i spowalnia procesor . Działa zegarek tylko brak odczytu DS bez tego GETRC5 działa poprawnie a chciałem pilotem ustawiać zegarek. Ma ktoś pomysł jak to ominąć

    Dodano po 10 [godziny] 27 [minuty]:

    wyczerpana cierpliwość
REKLAMA