Strona 2 z 3

Re: Xmega i DS3231

: 12 wrz 2022, 17:03
autor: Jacek
Wchodzi ale po 1 znaku
Clipboard02.jpg
pozdrawiam Jacek.

Re: Xmega i DS3231

: 12 wrz 2022, 17:11
autor: niveasoft
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. '****************************************************************

Re: Xmega i DS3231

: 12 wrz 2022, 18:00
autor: Jacek
: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.

Re: Xmega i DS3231

: 12 wrz 2022, 18:10
autor: niveasoft
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"

Re: Xmega i DS3231

: 12 wrz 2022, 18:21
autor: Jacek
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.

Re: Xmega i DS3231

: 21 wrz 2022, 12:17
autor: Jacek
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.

Re: Atmega i DS3231

: 22 wrz 2022, 15:40
autor: niveasoft
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 ;)

Re: Atmega i DS3231

: 25 wrz 2022, 12:08
autor: Jacek
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.

Re: Atmega i DS3231

: 26 wrz 2022, 9:24
autor: niveasoft
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.

Re: Atmega i DS3231

: 26 wrz 2022, 15:43
autor: Jacek
Bartek i to działa dzięki.
pozdrawiam Jacek.