Strona 2 z 4
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 25 wrz 2019, 14:04
autor: niveasoft
Musisz się pobawić
Takie sprawy się dopracowuje i potem działają zawsze
Może linia nie potrafi się tak szybko zwolnić, więc możesz, na początek, spróbować dodać czas zanim procesor odpowie komputerowi.
Jako że tych printów z odpowiedziami jest tam kilka to lepiej u góry w kodzie zadeklarować sobie stałą. Potem możesz zmieniać ten czas od 1 do np 5 jedna zmianą
Wstaw Waitms Czas wszędzie przed jakimś Print
Const Czas = 1 '1ms-5ms
Do
Waitms Czas
Print ..
Loop
A pytanie główne - Czy już wgrywałeś coś wcześniej bootloaderem ale zwykłym RS232?
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 25 wrz 2019, 17:06
autor: grafii1
Ok , wieczorem będę działał i dam znać co dalej , co do rs232 to nie , wszystko idzie po max485 a dlaczego pytasz , może coś z konwerterem ... ( jeden na 340 drugi 2303 , nie posiadam ft232 - może był by lepszy ? )
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 25 wrz 2019, 17:11
autor: niveasoft
Nie, nie. Chodzi o to, że zawsze najpierw sie testuje Bootloader zwykłym RS232 a dopiero potem, jak masz pewność że działa normalnie zaczynasz testowac na RS485 lub Blutooth.
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 25 wrz 2019, 19:35
autor: grafii1
Może rzeczywiście najpierw rs232 , zamiast " szukać dziury w całym ", po testuje i dam znać
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 25 wrz 2019, 22:42
autor: grafii1
chyba wiem w czym tkwi problem , po rs232 i przez konwerter na rs485 jest wysyłany w osobnych ramkach i moduł z wgranym tylko bootloaderem przyjmuje pojedyncze ramki R...S...T (lub coś innego ??? ) ale tuż po wgraniu i zresetowaniu pro mini rusza z wgranym softem który nie widzi pojedynczych znaków tylko RST w całości . Sprawdziłem to na analizatorze , wysyłając terminalem RST pro mini restartuje się . Trzeba by było zmodyfikować " przykład " tak aby mógł zdefiniować znaki wysyłane w osobnych ramkach i złożył je w całość . Możliwe jest też że sam bascom wysyła coś nie tak
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 25 wrz 2019, 23:19
autor: Pikczu
Pokaz ten swój kod bo coś dziwnego prawisz.
RS485 jest tylko jako medium więc żadne osobne ramki nie powinny tam występować jedyne co może mieć wpływ, to zmiana z tx na rx i odwrotnie.
grafii1 pisze: ↑25 wrz 2019, 22:42
pojedyncze ramki R...S...T
Jeśli masz dodatkowe moduły rs485 zrób dla testu full duplex. Osobny zestaw na tx i osobny na rx.
Z racji iż bootloader nie używa przerwań bo są wyłączone nie ma buforowania dla uartu,dlatego tez użyty jest waitkey i $timeout, wychodzi z tego half duplex.
Jak dasz rade pokaż jeszcze jak masz fusy ustawione.
Dla pocieszenia dodam że u mnie bootloader śmiga po RS485 bez problemu(full duplex).
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 26 wrz 2019, 0:00
autor: grafii1
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 26 wrz 2019, 7:07
autor: niveasoft
Nie było czasu sie zająć uaktualnieniem. Zamiast:
If Command = "RST" Then
Disable Interrupts 'wylaczenie przerwan
Start Watchdog 'uruchomienie Watchdoga
Do 'petla nieskonczona
Loop 'w niej czekamy na Reset
End If
...teraz raczej napisałbym:
If 0 < Instr(Command , "RST") Then 'jeśli w ciągu znaków znajdziesz RST...
Print "Reset in progress..." ' :D
Disable Interrupts 'wylaczenie przerwan
Start Watchdog 'uruchomienie Watchdoga
Do 'petla nieskonczona
Loop 'w niej czekamy na Reset
End If
Chodzi o to że różne inne znaki ładują się do stringa i on może wyglądać tak "[[[RST". Wtedy ten pierwszy przykład nie zadzaiała.
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 26 wrz 2019, 14:06
autor: grafii1
Dzięki za odpowiedź , wieczorem potrenuje ale co jeszcze zauważyłem , odczytując zapisany program flash ( nie boot ) zauważyłem jakieś dziwne dopiski zaraz za oryginalną zawartością
Re: Zmiana oprogramowania po RS485 , czy możliwe ?
: 26 wrz 2019, 20:00
autor: Pikczu
Warto prze konfigurować watchdoga żebie nie czekać zbyt długo:
Case bootloader: 'load
disable interrupts
Config Watchdog = 16
Start Watchdog
do
loop
Grafii1 a jak sterujesz przepływem ? po rs485 możesz to wkleić?