- $regfile = "m328pdef.dat" ' specify the used micro
- $crystal = 16000000 '16MHz
- $hwstack = 128
- $swstack = 64
- $framesize = 128
- $baud = 115200
- Const _valcheck = 1 'sprawdzanie poprawnosci konwersji Val()
- Config Serialin = Buffered , Size = 100
- Dim Znak As Byte , Dane As String * 60 , Helpb As Byte , N As Byte
- Dim My_strings(10) As String * 25 , My_bytes(5) As Byte , Testb As Byte
- Enable Interrupts
- Do
- If Ischarwaiting() > 0 Then
- Znak = Inkey()
- Select Case Znak
- Case 10 'otrzymano LF
- Helpb = Split(dane , My_strings(1) , ";") 'dziel string szukajac średników
- For N = 1 To 5
- Testb = Val(my_strings(n))
- If Err = 0 Then My_bytes(n) = Testb
- Next
- 'tu w bajtach My_bytes od 1 do 5 masz wartości
- 'a w My_strings(6) masz te ostatnia wiadomość
- Dane = "" 'dane przetworzone, mozna czyścić i czekamy na nowe
- Case Else 'kazdy inny od LF znak dodawaj do stringa
- Dane = Dane + Chr(znak)
- End Select
- End If
- Loop
- End
Odbiór danych rs232 Bascom
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Odbiór danych rs232 Bascom
Powinno działać. Pozdrów połowicę
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Stefan_25
- Posty: 22
- Rejestracja: 04 sty 2021, 18:36
Re: Odbiór danych rs232 Bascom
Witam w nowym dniu.
Niestety kod nie działa chyba że coś ja źle zmataczyłem, dopisałem pare linijek żeby zobaczyć co czyta i wyświetlić to na wyświetlaczu LCD ale niestety klapa.
Do tego mam pytanie, po co jest zmienna "Helpb" skoro nie jest wykorzystywane nigdzie w kodzie ?
Niestety kod nie działa chyba że coś ja źle zmataczyłem, dopisałem pare linijek żeby zobaczyć co czyta i wyświetlić to na wyświetlaczu LCD ale niestety klapa.
Do tego mam pytanie, po co jest zmienna "Helpb" skoro nie jest wykorzystywane nigdzie w kodzie ?
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- regfile = "m32def.dat"
- $crystal = 8000000
- $hwstack = 128
- $swstack = 64
- $framesize = 128
- $baud = 115200
- Const _valcheck = 1 'sprawdzanie poprawnosci konwersji Val()
- Config Serialin = Buffered , Size = 100
- Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
- Config Lcd = 20 * 4
- Dim Znak As Byte , Dane As String * 60 , Helpb As Byte , N As Byte
- Dim My_strings(10) As String * 25 , My_bytes(5) As Byte , Testb As Byte
- Enable Interrupts
- cursor off
- cls
- wait 1
- Do
- If Ischarwaiting() > 0 Then
- Znak = Inkey()
- Select Case Znak
- Case 10 'otrzymano LF
- Helpb = Split(dane , My_strings(1) , ";") 'dziel string szukajac średników
- For N = 1 To 5
- Testb = Val(my_strings(n))
- If Err = 0 Then My_bytes(n) = Testb
- Next
- 'tu w bajtach My_bytes od 1 do 5 masz wartości
- 'a w My_strings(6) masz te ostatnia wiadomość
- Dane = "" 'dane przetworzone, mozna czyścić i czekamy na nowe
- Case Else 'kazdy inny od LF znak dodawaj do stringa
- Dane = Dane + Chr(znak)
- End Select
- End If
- Locate 1 , 1 : Lcd "D1 " ; My_bytes(1)
- Locate 2 , 1 : Lcd "D2 " ; my_bytes(2)
- Locate 3 , 1 : Lcd "D3 " ; my_bytes(3)
- Locate 4 , 1 : Lcd "D4 " ; my_bytes(4)
- Locate 1 , 10 : Lcd "D5 " ; my_bytes(5)
- Locate 2 , 10 : Lcd "D6 " ; my_strings(6)
- waitms 500
- Loop
- End
- Pikczu
- Posty: 392
- Rejestracja: 17 sie 2015, 13:46
- Lokalizacja: Dublin, Ireland
- Kontakt:
Re: Odbiór danych rs232 Bascom
helpb możesz zignorować to tylko zmienna na przechowując ilość elementów.
Zobacz do helpa i przeczytaj co ten split robi wtedy zrozumiesz.
https://avrhelp.mcselec.com/
Zobacz do helpa i przeczytaj co ten split robi wtedy zrozumiesz.
https://avrhelp.mcselec.com/
- Stefan_25
- Posty: 22
- Rejestracja: 04 sty 2021, 18:36
Re: Odbiór danych rs232 Bascom
Doczytałem niemniej jednak nie działa a i czytając pomoc jezyka Basic to się pozmieniało i to dużo,
można powiedzieć że język się nadal rozwija.
można powiedzieć że język się nadal rozwija.
- Pikczu
- Posty: 392
- Rejestracja: 17 sie 2015, 13:46
- Lokalizacja: Dublin, Ireland
- Kontakt:
Re: Odbiór danych rs232 Bascom
Niestety nie zbyt mam czas nadal w pracy jestem.
Opisz lepiej bo "nie dziala" to malo info niestety.
Kod jest banalnie prosty.
Opisz lepiej bo "nie dziala" to malo info niestety.
Kod jest banalnie prosty.
- Stefan_25
- Posty: 22
- Rejestracja: 04 sty 2021, 18:36
Re: Odbiór danych rs232 Bascom
Nie wiem co mam opisać po prostu bez owijania w bawełnę przepisałem program ze strony dołożyłem parę linijek celem
sprawdzenia co odbiera zgodnie z instrukcją jaka jest w opisie i niestety ale program nie działa ,nic nie odbiera.
Swoją drogą już kiedyś poległem na odbieraniu danych z RS , krótko mówiąc położyłem lache na to i znalazłem inne wyjście.
Ponieważ tworzyłem urządzenia więc w inny sposób rozwiązałem sposób komunikacji/informacji.
W tym przypadku próbuje podłączyć urządzenie do istniejącej już instalacji która się komunikuje przez konwerter USB "CH340" i "FT232R"
wypluwając z siebie dane RS232
Dane można przechwycić dowolnym terminalem ale chcę żeby Atmega32 je odbierała zrobiła swoje i odsyłała z powrotem.
O ile wysyłanie jest banalnie proste to odbieranie jest cholernie trudne, przynajmniej dla mnie.
Program w Atmedze nie może się zatrzymać i czekać na dane musi to zrobić w przerwaniu.
Męczę się z tym dziś już trzeci dzień i niestety kolejna porażka po prostu nie rozumie jak odbierać dane z portu RS.
sprawdzenia co odbiera zgodnie z instrukcją jaka jest w opisie i niestety ale program nie działa ,nic nie odbiera.
Swoją drogą już kiedyś poległem na odbieraniu danych z RS , krótko mówiąc położyłem lache na to i znalazłem inne wyjście.
Ponieważ tworzyłem urządzenia więc w inny sposób rozwiązałem sposób komunikacji/informacji.
W tym przypadku próbuje podłączyć urządzenie do istniejącej już instalacji która się komunikuje przez konwerter USB "CH340" i "FT232R"
wypluwając z siebie dane RS232
Dane można przechwycić dowolnym terminalem ale chcę żeby Atmega32 je odbierała zrobiła swoje i odsyłała z powrotem.
O ile wysyłanie jest banalnie proste to odbieranie jest cholernie trudne, przynajmniej dla mnie.
Program w Atmedze nie może się zatrzymać i czekać na dane musi to zrobić w przerwaniu.
Męczę się z tym dziś już trzeci dzień i niestety kolejna porażka po prostu nie rozumie jak odbierać dane z portu RS.
- Pikczu
- Posty: 392
- Rejestracja: 17 sie 2015, 13:46
- Lokalizacja: Dublin, Ireland
- Kontakt:
Re: Odbiór danych rs232 Bascom
Trzy dni???Męczę się z tym dziś już trzeci dzień i niestety kolejna porażka po prostu nie rozumie jak odbierać dane z portu RS.
Trzy tygodnie siedziałem nad 4 liniakami w asemblerze, przeczytałem 2 książki i setki stron internetowych,do tego watki na forach i dziesiątki kodów testowych.
Tylko po to żeby zrozumieć zagadnienie.
Od 6 miesięcy projektuje urządzenie- dobieram elementy czytam pdf po kilka godzin dziennie.
A ty po trzech dniach się poddajesz ??
Na forum jest bardzooo dużo przykładów wręcz gotowców.
Napisanych czy przez Bartka czy prze zemnie.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Odbiór danych rs232 Bascom
Witam - jeżeli mogę coś powiedzieć to Paweł i Bartek nauczyli mnie komunikacji po rs485 możesz zobaczyć moduł sterujący miodarki w połączeniu z modułem wykonawczym https://www.youtube.com/watch?v=JawPSNWF_pQ https://www.youtube.com/watch?v=I3k1Z6O-IaU.
pozdrawiam Jacek.
pozdrawiam Jacek.
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Odbiór danych rs232 Bascom
Nie spie po nocach i czytam książki kupione na Helionie a rano robię sobie kawę i obiecuję doczytać resztę....Jak dasz za książkę 89zł albo więcej to myślisz że kupujesz wiedzę. Co ciekawe to się zwraca. Mogę czasem coś doradzić
@pikczu ma rację.... albo Cie to interesuje albo tylko epizod żeby coś zbudować to pomożemy, że nie we wszystkim.
@pikczu ma rację.... albo Cie to interesuje albo tylko epizod żeby coś zbudować to pomożemy, że nie we wszystkim.
- Stefan_25
- Posty: 22
- Rejestracja: 04 sty 2021, 18:36
Re: Odbiór danych rs232 Bascom
Rozumie i dziękuję za wszelką pomoc, o ile radzę sobie z projektami które robię/wykonuję oczywiście nie handlowo a na zasadzie hobbystycznej , mam prace główna z czego utrzymuję rodzine.
Nie mogę nijak pojąć cholernej komunikacji po RS , domyślam się że było by prościej to zrobić po I2C czy SPI ale to urządzenie nie posiada takowego więc jestem zmuszony do tego by to opanować.
No cóż jak to mówią przedmówcy trzeba czasu by to zrobić lub projekt wrzucić między książki , nikt nie będzie siedział nad komunikacją pół roku.
Jeszcze raz dziękuje za okazaną pomoc.
Nie mogę nijak pojąć cholernej komunikacji po RS , domyślam się że było by prościej to zrobić po I2C czy SPI ale to urządzenie nie posiada takowego więc jestem zmuszony do tego by to opanować.
No cóż jak to mówią przedmówcy trzeba czasu by to zrobić lub projekt wrzucić między książki , nikt nie będzie siedział nad komunikacją pół roku.
Jeszcze raz dziękuje za okazaną pomoc.