ATmega2560 - Konfiguracja 2x UART

Pytania, kody i porady dotyczące nie tylko Bascom.
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: niveasoft » 16 paź 2020, 7:02

Przecież to niemożliwe żeby nic nie wywalał na COM do PC skoro ESP pisze "ready" i "WIFI CONNECTED" nie pisząc już o wcześniejszych komunikatach.
W tym If -Else -End if które zmienialiśmy dopisz przed Else Print #pc , "Komenda GOT IP OKAY! Wysyłam żądanie połączenia".

Może ten mój kod na ESP działał z jakimś starym softem na ESP, ale teraz są nowsze i na pewno używają znaku zachęty ">". Sprawdziłem jak to mam rozwiazane w sterowniku który fuczy już któryś rok...
  1. '--[ USART2 COM3 WIFI ]-----------------------
  2.  If 0 < Ischarwaiting(#esp) Then
  3.  
  4.    Char = Inkey(#esp)                                       'USART2 WIFI
  5.  
  6.   If Wifi_onoff = 1 Then
  7.  
  8.    Select Case Char
  9.     Case 10 : Got_str3 = 1
  10.     Case 13
  11.     Case 62
  12.      Answear = Answ_invite
  13.       Dzialaj_z_wifi = 1
  14.        Goto Skip_timeout                                    'znak ">"
  15.  
  16.     Case Else
  17.      If Char <> 0 Then
  18.       Command3 = Command3 + Chr(char)
  19.       If Len(command3) = Max_lenght3 Then Got_str3 = 1
  20.        Incr Command3len : If Command3len > Max_lenght3 Then Got_str3 = 1
  21.      End If
  22.    End Select
  23.  
  24.    If Got_str3 = 0 Then Cmd_timeout3 = 10
  25.  
  26.    Skip_timeout:
  27.  
  28.   End If
  29.    'end if Ischarwaiting3
  30.  End If
Tak więc na pewno ten znak zachęty tam jest i "OK" może się wcale nie pojawić.

Coś podchodzisz do tego jak pies do jeża więc może podłączę to jakoś jak wrócę z zakupów.

Co do Arduino to IDE Arduino wgrywając Bootloader ustawia też FuseBity w tym BOOTRST czyli procesor po starcie ma skoczyć do bootloadera a nie rozpocząć program.
Jak wgrywasz program programatorem to najlepiej wyłącz BOOTRST. Nie powinno to mieć większego znaczenia bo flash powinien być tam czysty i kiedy uC się po tym przeleci to kiedyś tam zacznie znów od $00, ale jak widać, licho nie śpi.
Z Arduinowym bootloaderem jest też tak że czasem ustawia bit U2X. To czasem powodowało problemy z komunikacją w programie głównym, ale tylko dla COM1, ten od USB.

Napisz najprostszy program który nadaje w kółko co sekundę na wszystkich USARTach "TEST" a potem podłączając się do pinów TX przejściówką USB<>USART sprawdź czy to nadaje.
  1. Do
  2. Print #1, "TEST1"
  3. Print #2, "TEST2"
  4. Print #3, "TEST3"
  5. Print #4, "TEST4"
  6. Wait 1
  7. Loop
To wszystko można zdiagnozować krok po kroku...
Do takich enigmatycznych seriali lepiej jest użyć Realterm bo pokazuje czy dana wiadomość kończy się CR LF a która nie.
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: pimowo » 16 paź 2020, 9:01

Dziękuję za kolejną porcję porad, a już miałem tym trzepnąć w szufladę...

Zanim będę robił kolejne próby ujarzmienia tego wszystkiego to może trochę o moim sprzęcie. Mam kilka różnych wersji ESP8266, ale tu chciałbym użyć ESP-01 z powodu wymiarów - mam dwie wersje: starszą, niebieską (512 kB) i troszkę nowszą, czarną (1MB)
Czarny ESP posiada oprogramowanie:
  1. AT version:0.50.0.0(Sep 18 2015 20:55:38)
  2. SDK version:1.4.0
  3. compile time:Sep 18 2015 21:32:07
Niebieski ESP posiada oprogramowanie:
  1. AT version:1.6.2.0(Apr 13 2018 11:10:59)
  2. SDK version:2.2.1(6ab97e9)
  3. compile time:Jun  7 2018 19:34:26
  4. Bin version(Wroom 02):1.6.2

To są najwyższe wersje dla tych modułów przez ich pamięć.
Dziś zlutuje ESP-12 (4MB) i wrzucę najnowsze oprogramowanie AT, może to coś zmieni.

A co do uC, to wygląda to tak:
fusy_manualne.jpg
fusy_uproszczone.jpg
fusy_wlasciwosci.jpg
Czy z tymi ustawieniami wszytko jest OK?
ATmegę wolałbym programować poprzez UART czyli USB

Na mojej płytce zamienione miejscami są piny RX1 z TX1, piny RX2 i TX2 oraz RX3 i TX3 są OK
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: niveasoft » 16 paź 2020, 11:17

No jak już jakiś czas programujesz AVR`y to byś mógł doczytać te podstawowe znaczenia FuseBitów.
Jak BOOTRST jest zahaczony to po resecie procesor nie zaczyna od początku flash tylko skacze pod adres ustawiany tymi fusami BOOTSZ0 i BOOTSZ1. Te bity mogą być i są ustawione nawet jak uC nie ma bootloadera. Dopiero ustawienie BOOTRST każe uC skoczyć najpierw tam gdzie nie załadowałeś softu :D

Na szczęście procesor po wykasowaniu BulkErase ma tam wszędzie FF FF FF... i procesor po tym jedzie nie widząc instrukcji. Jak dojdzie do końca flash to się zawinie i startuje z programem aplikacji.

Bity BODEN odpowiadaja za to, że procek będzie utrzymywany w stanie Reset do momentu aż napięcie zagwarantuje poprawne działanie...
Ustawiony EESAVE zawsze zachowa zapamiętane wcześniej wartości w eeprom nawet przy programowaniu. Po prostu nie posłucha BulkErase dla Eeprom.

Dlatego napisałem, że na pewno masz włączony BOOTRST (bo ustawia go wgrywanie BOOT przez Arduino IDE) i lepiej go wyłączyć jak programujesz programatorem, ale nie powinno to mieć dużego wpływu, a jedynie na czas startu aplikacji/programu głównego.

Programuj sobie bootloaderem. To powszechna praktyka :D i innym działa. Ty musisz poszukać co jest grane że Tobie nie działa.
Masz USART na USB wbudowany to NAPISZ U GÓRY W KODZIE "DEBUG ON"

Wklejaj gdzie tylko chcesz wiadomości diagnostyczne typu "Debug #pc , "Mamy odpowiedz z ESP"
Linijka niżej pod jakimś Else "Debug #pc , "Brak odpowiedzi od ESP"

Jak kod ruszy to jednym zamachem usuwasz wiadomości diagnostyczne zmieniając "DEBUG ON" na "DEBUG OFF" i kod mniejszy czasem o połowę :D

Ile razy bym teraz dla kogoś nie pisał softu to jeśli tylko istnieje taka hardware`owa możliwość wyprowadzenia Seriala i LED to o to proszę by uwzględniono w projekcie.

Mam Debuger Atmel ICEII i SNAP, ale kilka razy szybciej wszystko znajdę terminalem i LED jeśli chodzi o takiego typu problemy. Debuger to już bardziej szukanie/potwierdzenie błędu w kompilatorze lub zwrócenie uwagi na coś oczywistego co się przeoczyło (duuuużo częściej) :D
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: niveasoft » 16 paź 2020, 12:12

Tych ESP do różnych projektów mam podłączonych więcej. Te na foto akurat leżą i są wolne :D
U góry Wemos Mini PRO z największym Flash, NodeMCU i te dwa malutkie ośmiopinowce z programatorkiem a potem niżej Wemos`y D1

Na samym dole ten chyba podobny do Twojego co mamy oprogramować :P
jako jedyny bez wbudowanego USB....

Dobra pojedziemy na komendach AT :P Tylko trochę później. Mam kilka rzeczy do zrobienia.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: pimowo » 16 paź 2020, 13:21

Ja to próbuję uruchomić na ESP-01 niebieski 512kB i czarny 1MB
esp_1.jpg
ale trzeba będzie sobie je odpuścić, ponieważ nie można na nich zainstalować żadnego nowego oprogramowania.

W domu mam do dyspozycji:
esp.jpg
ESP-07 (1MB) fajny, ponieważ można dołączyć zewnętrzną antenę
ESP-12E (4MB) ten to ten najbardziej popularny i to własnie on siedzi (chyba) na płytkach z konwerterem USB
ESP-12F (4MB) to co wyżej, ale coś tam poprawili
ESP-13 (16MB) ten to mnie przeraża ze swoimi nóżkami, strasznie ciasno

Więc drogą selekcji wybiorę ESP-12F ponieważ jest najnowszy i ma dużą pamięć, nie będzie problemu z nowszym oprogramowaniem.

<ciach>
Mam już ESP-12F z wgranym firmware AT 1.7.4
  1. AT+GMR
  2. AT version:1.7.4.0(May 11 2020 19:13:04)
  3. SDK version:3.0.4(9532ceb)
  4. compile time:May 27 2020 10:12:17
  5. Bin version(Wroom 02):1.7.4
  6. OK
  1. AT+RST
  2.  
  3. OK
  4.  
  5.  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
  6.  
  7. load 0x40100000, len 2592, room 16
  8. tail 0
  9. chksum 0xf3
  10. load 0x3ffe8000, len 764, room 8
  11. tail 4
  12. chksum 0x92
  13. load 0x3ffe82fc, len 676, room 4
  14. tail 0
  15. chksum 0x22
  16. csum 0x22
  17.  
  18. 2nd boot version : 1.7(5d6f877)
  19. SPI Speed : 40MHz
  20. SPI Mode : QIO
  21. SPI Flash Size & Map: 32Mbit(512KB+512KB)
  22. jump to run user1 @ 1000
  23.  
  24. correct flash map
  25. rn|r‚rnlnŕ€Śb|€n’|bb’ň’nŕ€ŽlŽr‚’’nb’nb‚nžě~ânlś|Śňn|rlŽr‚’’nb‚nžě~ânžŕ‚nâţb’ňn|Śśŕb‚nlśbl`rňnlphŚâě‚ně’r‚ňn|ěŚlŽprlb’ž|r’lśnŕ‚nâl`Śâr’lŚlŚl`Śâr’lělŚl`Śâr’lŽžŚll`rlŽ‚rlŚžâŚběŚbŚbŽb|’ěŚě’bběňnî€nnâllŕ⌌ŚŚlŚŽŚŚŽ€Žl€nüŚžâŚblllŽŽbŚžâŚblŚbrlrl
  26. ready
  27. WIFI CONNECTED
  28. WIFI GOT IP
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: pimowo » 17 paź 2020, 14:09

No i... ruszyło, ale... ja coś nie ogarniam tych ustawień wejść/wyjść czy innych buforów. Przy wcześniejszych ustawieniach to wyglądało tak jakby bufory się na siebie nakładały :shock:

Zrobiłem tak, że teraz używam 3x UART
0 -> komunikacja do PC czyli Debug i programowanie uC - USB Arduino MEGA
1 -> komunikacja z ESP8266
2 -> komunikacja z PC
  1. Debug On
  2.  
  3. $regfile = "m2560def.dat"
  4. $crystal = 16000000
  5. $hwstack = 256
  6. $swstack = 128
  7. $framesize = 256
  8.  
  9. Config Submode = New
  10.  
  11. '--- UART 0 USB Arduino (debug)
  12. Config Com1 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
  13. 'Serialin0
  14.  
  15. '--- UART 1 ESP8266
  16. Config Com2 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
  17. Open "COM2:" For Binary As #2 : Const Esp = 2
  18. 'Config Serialin1 = Buffered , Size = 250                    ', Bytematch = 10
  19. Config Input2 = Crlf , Echo = Crlf
  20. Echo Off
  21.  
  22. '--- UART 2 PC
  23. Config Com3 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
  24. Open "COM3:" For Binary As #3 : Const Pc = 3
  25. Config Serialin2 = Buffered , Size = 250 , Bytematch = 13
  26. Config Input3 = Cr , Echo = Cr
  27. Echo Off
  28.  
  29. '--- TIMER
  30. Config Timer2 = Timer , Prescale = 1024 , Compare_a = Disconnect , Compare_b = Disconnect , Clear_timer = 1
  31.    Compare2a = 155                                          '10ms @16MHz/1024
  32.  
  33. '--- LED
  34. Test_led_1 Alias Porte.5 : Config Test_led_1 = Output       'pin 3
  35. Test_led_2 Alias Portg.5 : Config Test_led_2 = Output       'pin 4
  36. Led_mega Alias Portb.7 : Config Led_mega = Output           'pin 13
  37.  
  38. '--- czas
  39. Dim 100ms As Byte , 1s As Byte , 1m As Byte
  40.  
  41. '--- LED
  42. Dim Led As Byte , Led_ee As Eram Byte
  43.  
  44. '--- PC
  45. Dim Com3_str As String * 250
  46. Dim Pc_nadaje As Byte
  47.  
  48. Dim Bufor As Byte
  49. Dim Pc_dane(4) As String * 10
  50.  
  51. '--- ESP8266
  52. Dim Com2_str As String * 250
  53. Dim Esp_nadaje As Byte
  54.  
  55. Dim Send_time As Byte
  56. Dim Cmd As String * 250 , Cmd_len As String * 250
  57. Dim Lenght As Byte
  58. Dim State As Byte , Mem_state As Byte
  59.  
  60. Const Startup = 0
  61. Const Waiting = 1
  62. Const Send_len = 2
  63. Const Sending = 3
  64.  
  65. '--- obsługa ESP8266
  66. Sub Esp_uart
  67.  
  68.    Select Case State
  69.  
  70.       Case Startup
  71.  
  72.          If Instr(com2_str , "WIFI GOT IP") > 0 Then
  73.  
  74.             Cmd = "AT+CIPSTART={034}TCP{034},{034}192.168.1.2{034},80"
  75.  
  76.             Print #esp , Cmd
  77.  
  78.             Cmd = "GET /receiver.php?key=1234&id=1;11;2;22;3;33"
  79.             Cmd = Cmd + "&type=water;volt;gas;volt;elec;volt"
  80.             Cmd = Cmd + "&value=0.001;1.11;0.01;2.22;0.0005;3.33"
  81.             Cmd = Cmd + "&current=11;---;22;---;33;---"
  82.             Cmd = Cmd + "&device=ip&name=CountNNT_"
  83.             Cmd = Cmd + "{032}HTTP/1.1{013}{010}Host:{032}192.168.1.2{013}{010}{013}{010}"
  84.  
  85.             Mem_state = State                               'zapamiętaj, że zaczynamy
  86.             State = Waiting
  87.  
  88.          'Else
  89.  
  90.             'Debug Com2_str
  91.  
  92.          End If
  93.  
  94.       Case Waiting                                          'jeśli czekamy na odpowiedź
  95.  
  96.          Select Case Com2_str
  97.  
  98.             Case "OK"                                       'jeśli zobaczymy OK
  99.  
  100.                Select Case Mem_state
  101.  
  102.                   Case Startup                              'Poprzedni był auto-start, więc to pierwszy "OK"
  103.  
  104.                      Mem_state = Send_len
  105.  
  106.                      Lenght = Len(cmd) : Cmd_len = Str(lenght)
  107.                      Cmd_len = "AT+CIPSEND=" + Cmd_len
  108.  
  109.                      Print #esp , Cmd_len
  110.  
  111.                      'Debug Cmd_len
  112.  
  113.                   Case Send_len                             'drugie „OK”, więc wysyłamy Len danych, które chcemy wysłać
  114.  
  115.                      Print #esp , Cmd
  116.  
  117.                      'Debug Cmd
  118.  
  119.                      State = Sending
  120.                      Mem_state = Sending                    'zapamiętaj, że wysyłamy dane do serwera
  121.                                                             'do obsługi błędów
  122.                End Select
  123.  
  124.             Case "ERROR"                                    'błąd połączenia
  125.  
  126.                State = Startup : Send_time = 0
  127.  
  128.             Case "CLOSED"                                   'połączenie zamknięte
  129.  
  130.                State = Startup : Send_time = 0
  131.  
  132.          End Select
  133.  
  134.       Case Sending                                          'wysyłka danych
  135.  
  136.          Select Case Com2_str
  137.  
  138.             Case "SEND OK"                                  'wysyłanie powiodło się
  139.  
  140.                State = Startup : Send_time = 0
  141.  
  142.             Case "CLOSED"                                   'połączenie zamknięte
  143.  
  144.                State = Startup : Send_time = 0
  145.  
  146.             Case "SEND FAIL"                                'wysyłanie nie powiodło się
  147.  
  148.                State = Startup : Send_time = 0
  149.  
  150.          End Select
  151.  
  152.    End Select
  153.  
  154. End Sub
  155.  
  156. '--- obsługa PC
  157. Sub Pc_uart
  158.  
  159.    Bufor = Split(com3_str , Pc_dane(1) , " ")
  160.  
  161.    Select Case Pc_dane(1)
  162.  
  163.       Case "?"
  164.  
  165.          Print #pc , ":)"
  166.  
  167.    Case Else                                                'jeżeli odebrany znak to żaden z powyższych to wyczyść bufor
  168.  
  169.       Print #pc , ""
  170.       Print #pc , "ehhh... cos poszlo nie tak, sprobuj jeszcze raz..."
  171.  
  172.       'Com3_str = ""
  173.  
  174.       Pc_dane(1) = ""
  175.       Pc_dane(2) = ""
  176.       Pc_dane(3) = ""
  177.       Pc_dane(4) = ""
  178.  
  179.    End Select
  180.  
  181.    'wyczyść bufor i wyjdź
  182.  
  183.    'Com3_str = ""
  184.  
  185.    Pc_dane(1) = ""
  186.    Pc_dane(2) = ""
  187.    Pc_dane(3) = ""
  188.    Pc_dane(4) = ""
  189.  
  190. End Sub
  191.  
  192. '--- włącz globalne przerwania
  193. Enable Interrupts
  194.  
  195. '--- powitanie
  196. Debug "START UART 0 debug"
  197. Print #pc , "START UART 2 PC"
  198.  
  199. '**********************
  200. '*** PROGRAM GŁÓWNY ***
  201.  
  202. Do
  203.  
  204.    If Tifr2.ocf2a = 1 Then                                  'minęło 10ms - flagę ustawia Timer
  205.  
  206.       Tifr2.ocf2a = 1                                       'kasuj flagę
  207.  
  208.       If 100ms < 9 Then
  209.  
  210.          Incr 100ms
  211.  
  212.       Else                                                  'minęło 100ms
  213.  
  214.          100ms = 0
  215.  
  216.          If 1s < 9 Then
  217.  
  218.             Incr 1s
  219.  
  220.          Else                                               'minęła 1s
  221.  
  222.             1s = 0
  223.  
  224.             Toggle Led_mega
  225.  
  226.             If 1m < 59 Then
  227.  
  228.                Incr 1m
  229.  
  230.             Else                                            'minęła 1m
  231.  
  232.                1m = 0
  233.  
  234.                Debug "Start ESP"
  235.  
  236.                Print #esp , "AT+RST"                        'budź ESP i ślij dane na serwer
  237.  
  238.             End If
  239.  
  240.          End If
  241.  
  242.       End If
  243.  
  244.    End If
  245.  
  246.    If Ischarwaiting(#esp) > 0 Then
  247.  
  248.       Input #esp , Com2_str
  249.  
  250.       Call Esp_uart
  251.  
  252.       Com2_str = ""
  253.  
  254.    End If
  255.  
  256. '   If Esp_nadaje = 1 Then
  257.  
  258. '      Esp_nadaje = 0
  259.  
  260. '      Call Esp_uart
  261.  
  262. '   End If
  263.  
  264.    If Pc_nadaje = 1 Then
  265.  
  266.       Pc_nadaje = 0
  267.  
  268.       Call Pc_uart
  269.  
  270.       Clear Serialin2
  271.  
  272.    End If
  273.  
  274. Loop
  275.  
  276. Close #esp
  277. Close #pc
  278.  
  279. End
  280.  
  281. '*** KONIEC GŁÓWNEJ PĘTLI ***
  282. '****************************
  283.  
  284. '--- przerwanie UART ESP
  285. 'Serial1charmatch:
  286.  
  287. '   $asm
  288. '   !PUSH R6
  289. '   !PUSH R16
  290. '   !PUSH R17
  291. '   !PUSH R18
  292. '   !PUSH R19
  293. '   !PUSH R22
  294. '   !PUSH R24
  295. '   !PUSH R25
  296. '   !PUSH R26
  297. '   !PUSH R27
  298. '   !PUSH R30
  299. '   !IN R24, SREG
  300. '   !PUSH  R24
  301. '   $end Asm
  302.  
  303. '   $timeout = 3000
  304. '   Input #esp , Com2_str
  305. '   Clear Serialin1
  306.  
  307. '   Esp_nadaje = 1
  308. '          Tuned with NoSave Tool 1.10
  309.  
  310. '   $asm
  311. '   !POP  R24
  312. '   !OUT SREG, R24
  313. '   !POP R30
  314. '   !POP R27
  315. '   !POP R26
  316. '   !POP R25
  317. '   !POP R24
  318. '   !POP R22
  319. '   !POP R19
  320. '   !POP R18
  321. '   !POP R17
  322. '   !POP R16
  323. '   !POP R6
  324. '   $end Asm
  325.  
  326. 'Return
  327.  
  328. '--- przerwanie UART PC
  329. Serial2charmatch:
  330.  
  331.    $asm
  332.    !PUSH R6
  333.    !PUSH R16
  334.    !PUSH R17
  335.    !PUSH R18
  336.    !PUSH R19
  337.    !PUSH R22
  338.    !PUSH R24
  339.    !PUSH R25
  340.    !PUSH R26
  341.    !PUSH R27
  342.    !PUSH R30
  343.    !IN R24, SREG
  344.    !PUSH  R24
  345.    $end Asm
  346.  
  347.    $timeout = 3000
  348.    Input #pc , Com3_str
  349.    'Clear Serialin2
  350.  
  351.    Pc_nadaje = 1
  352. '          Tuned with NoSave Tool 1.10
  353.  
  354.    $asm
  355.    !POP  R24
  356.    !OUT SREG, R24
  357.    !POP R30
  358.    !POP R27
  359.    !POP R26
  360.    !POP R25
  361.    !POP R24
  362.    !POP R22
  363.    !POP R19
  364.    !POP R18
  365.    !POP R17
  366.    !POP R16
  367.    !POP R6
  368.    $end Asm
  369.  
  370. Return
Na tą chwilę ATmega odpowiada na zapytania z PC, ESP co minutę śle dane na serwer, uC nie zawiesza się czyli jest OK
Jak to poprawnie skonfigurować/poprawić aby było zgodnie ze sztuką? ;)

PS
Diody LED i dodatkowy UART bardzo się przydały przy podglądaniu co się dzieje z kodem :D
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: pimowo » 22 lis 2020, 10:01

niveasoft pisze:
13 paź 2020, 8:55
Proponuję sobie zmienną Cmd zadeklarować na co najmniej 250, lub więcej, a do kodu dodać dyrektywę "$bigstrings".
Bartek, jak to jest z tym $bigstrings, czy ja muszę wykonać jakieś dodatkowe sztuczki aby to działało?
Mam działający kod (kody te co wyżej ale teraz męczę Arduino UNO) gdzie ESP posyła dane na serwer, ale przydało by się troszkę więcej znaków niż 254 - dodaję do kodu $bigstrings (nie zmieniając nic więcej) i nagle ESP przestaje posyłać dane, a jak wyrzucę $bigstrings to wszystko wraca do normy.
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: ATmega2560 - Konfiguracja 2x UART

Post autor: pimowo » 26 lis 2020, 12:07

Nikt nie używał $bigstrings?
Co ciekawe w internecie nie widać programów z użyciem $bigstrings, czy to nie działa czy ludzie nie potrzebują tego używać?
ODPOWIEDZ