Atmega i DS3231

Pytania, kody i porady dotyczące nie tylko Bascom.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega i DS3231

Post autor: Jacek » 12 wrz 2022, 17:03

Wchodzi ale po 1 znaku
Clipboard02.jpg
pozdrawiam Jacek.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega i DS3231

Post autor: niveasoft » 12 wrz 2022, 17:11

No bo to było dobrze a Ty przedobrzyłeś. Dopiero jak zobaczy znak CR czyli 13 to ma parsować.
  1. '****************************************************************
  2.  'ODBIÓR DANYCH UART0
  3.    If Ischarwaiting(#DEBUG_) > 0 Then                                           'calls _gotchar and use URXC
  4.       Lcount_0 = Inkey(#DEBUG_)                                                 'pobierz znak z bufora
  5.       If Lcount_0 = 13 Or Len(uart_command_0) > 20 Then                         ' jeslii ENTER lub wiecej niz 20 znaków to call uartrx
  6.          Call Uartrx0()
  7.          Uart_command_0 = ""                                                    ' koniecznie potrzenbe do czysczenia bufora
  8.       Else                                                                      'inaczej
  9.          Uart_command_0 = Uart_command_0 + Chr(Lcount_0)                        'kluczowe budowanie bufora
  10.       End If                                                                    'koniec warunku
  11.    End If                                                                       'koniec warunku
  12. '****************************************************************
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega i DS3231

Post autor: Jacek » 12 wrz 2022, 18:00

:D Pan Bartek działa, dziękuje jeszcze pytanie jak ustawie datę lub czas to żeby ustawić na nowo to muszę zrestartować atmegę czy tak powinno być?
pozdrawiam Jacek.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Xmega i DS3231

Post autor: niveasoft » 12 wrz 2022, 18:10

Nie trzeba restartować. Piszesz ile ma być i będzie.
Tam przy dacie zawsze trzeba zwrócic uwagę jak zadeklarowałeś zegarek. Dmy to DayMonthYear i trzeba dzisiaj wpisać 12/09/22 A jak ktoś ma na odwrót Ymd to musi dzisiaj wpisać 22/09/12

Tak patrzę że Ty masz "Config Date = dmy , Separator = - " to chyba najlepiej wpisać "12-09-22"
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega i DS3231

Post autor: Jacek » 12 wrz 2022, 18:21

OK jasne a tak mi jeszcze przyszło do głowy czy można pobrać czas i datę z kompa żeby z synchronizować czas da się?
pozdrawiam Jacek.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Xmega i DS3231

Post autor: Jacek » 21 wrz 2022, 12:17

Witam pan Bartek czy możesz podpowiedzieć jak odebrać string z Nextionia , nauczyłem się już jak wysyłać w formie tekstu czas i datę.
Obrazek
Obrazek
Obrazek
czy możesz napisać jak odebrać ten tekst co by trafił do suba odpowiedzialnego za ustawianie czasu lub daty.
pozdrawiam Jacek.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Atmega i DS3231

Post autor: niveasoft » 22 wrz 2022, 15:40

Musisz w Nextionie do tego stringa dodać znak Enter. Nie pamiętam jak tam to było. Albo się nazywa CR albo Chr(13) albo coś w tym stylu. Tylko wtedy Atmega to parsuje w tym rozwiązaniu. Można, i tak czasem robię, dodać sobie timeout w Atmedze i parsować wszystko co przyszło po czasie jak już nic nie jest nadawane. Coś jak w Modbus.

Na końcu, przed wysłaniem, sendstr.txt +=13 albo coś co tam ustawi enter. Znaki o wartości do 32 sa niewidoczne, tak zwane "niedrukowane".

Nie instalowałem jeszcze Nextiona na nowym kompie. Musiałbym na nim otworzyć poprzedni projekt i podejrzeć. Można to tez doczytać w dokumentacji na co teraz nie mam czasu ;)
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Atmega i DS3231

Post autor: Jacek » 25 wrz 2022, 12:08

Witam czy mogę prosić o sprawdzenie czy dobrze odbieram stringa z nextion'a
w programie głównym mam tak
  1. '****************************************************************
  2.    If 0 < Ischarwaiting(#Nex) Then
  3.       Call NEX_communication
  4.    End If
  5. '****************************************************************
w subie Nex_communication mam tak odbiór stringa
  1. '****************************************************************
  2.                      If New_Touch = 1 And New_Id = 15 Then
  3.                         Uart_command_0 = New_string
  4.                         Debug #Debug_ , " Uart_command_0 " ; Uart_command_0
  5.                         Call set_date_time
  6.                      End If
  7. '****************************************************************
wysyłanie nowej daty z nextion'a mam tak
  1. sendstr.txt="DATE="
  2. covx setday.val,va0.txt,2,0
  3. sendstr.txt+=va0.txt
  4. sendstr.txt+="/"
  5. covx setmonth.val,va0.txt,2,0
  6. sendstr.txt+=va0.txt
  7. sendstr.txt+="/"
  8. covx setyear.val,va0.txt,2,0
  9. sendstr.txt+=va0.txt
  10. print sendstr.txt
  11. printh 0D
czyli po wysłaniu sendstr.txt w następnej linii wysyłam w hex CR
ale w terminalu nie widzę żeby weszło do odbioru stringa :( dla daty mam tak samo
pozdrawiam Jacek.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Atmega i DS3231

Post autor: niveasoft » 26 wrz 2022, 9:24

Zainstalowałem sobie te Nextion IDE i spojrzałem jak to ostatnio zrobiłem. Otóż wysyła się to komendą "GET" i to samo doda na końcu Enter.
Sprawdziłem to potem szybko w PDF`ie i się to zgadza.
Printh pewnie wysyła dwie literki 0 i D czyli 48 i 68 więc to pewnie nie działało.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Atmega i DS3231

Post autor: Jacek » 26 wrz 2022, 15:43

Bartek i to działa dzięki.
pozdrawiam Jacek.
ODPOWIEDZ