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

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

08 Sie 2018 21:50 549 17
  • 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: vbnet
    Zaloguj się, aby zobaczyć kod
  • Computer Controls
  • Użytkownik usunął konto  
  • Poziom 17  
    Zrobić tak by wyświetlał część ułamkową
  • Computer Controls
  • Użytkownik usunął konto  
  • Poziom 17  
    Poprawiłem nieco kod i wygląda tak :
    Kod: vbnet
    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Ω
  • Użytkownik usunął konto  
  • 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.
  • Użytkownik usunął konto  
  • Poziom 17  
    Kolego coś takiego wymyśliłem :
    Kod: vbnet
    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.
  • Użytkownik usunął konto  
  • 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
  • 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.?
  • Użytkownik usunął konto  
  • 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: vbnet
    Zaloguj się, aby zobaczyć kod

    Czy to złe rozwiązanie?
  • Użytkownik usunął konto  
  • Poziom 17  
    Kolego tera nie działa mi ustawianie godzin a zrobiłem to tak
    deklaracja:
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    tak funkcja:
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Nie zrozumiem jak to przekazuje wynik zmiennej minuty z funkcji do globalnej zmiennej minuty
  • 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ąć
  • 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ść