Witam
Zmontowałem (prawie) sterownik do C.O. i wystąpił problem.
Otóż urządzenie nadaje do komputera poprzez RS232 swoje aktualne parametry w postaci:
I tu wszystko jest OK.
Ale problem jest w drugą stronę. Przy instrukcji:
odczytuje tylko dwa pierwsze znaki (czasem 3 lub 4) np.
Wysyłam z terminala np: 12345678 a atmega odbiera tylko : 12 lub 123 itd
Jak testowałem samą procedurę odczytów i zapisów to nie było problemów ale jak wmontowałem to już w działający program sterownika to zaczęły się problemy.
Dodam że ustawienia mam takie:
a odczytuje tak:
Może coś mam źle ustawione lub odczytuje się to jakoś inaczej?
Sprawa jest taka że program musi lecieć w pętli cały czas i nie mogę uzyć np samego polecenia :
muszę używać jeszcze
aby program nie stawał i nie czekał ma wprowadzenie czegoś z terminala.
Najlepiej aby umieścić cała procedurę wysyłania i odbierania danych w jakimś np. timerze. Piszę programiki w Visual Basic i tam takich odzielnych timerów-podprogramów wykonywanych w między czasie mogę wstawiać dużo. Ale w Bascomie nie mam pojęcia jak to ugryźć.
Poprostu wszystko działa ok poza tym że zjada mi znaki w wysyłanych danych z terminala lub mojej aplikacji w VB.Próbowałem używać różnych prędkości portu com i w sumie działa mi tylko na 4800 i 9600.Dziwne.
Procek taktuję tak:
Proszę o jakąś poradę lub naprowadzenie mnie "łopatologicznie" na trop.
Dla zgryźliwych dodam że:
1.Przeglądałem bardzo intensywnie sample w Bascomie
2.przeszukiwałem Google i uruchamiałem 1000000 różnych kodów
3.Skończyły mi się pomysły.
Zmontowałem (prawie) sterownik do C.O. i wystąpił problem.
Otóż urządzenie nadaje do komputera poprzez RS232 swoje aktualne parametry w postaci:
Print c(1),c(2),c(5) ..................... I tu wszystko jest OK.
Ale problem jest w drugą stronę. Przy instrukcji:
input Rsin odczytuje tylko dwa pierwsze znaki (czasem 3 lub 4) np.
Wysyłam z terminala np: 12345678 a atmega odbiera tylko : 12 lub 123 itd
Jak testowałem samą procedurę odczytów i zapisów to nie było problemów ale jak wmontowałem to już w działający program sterownika to zaczęły się problemy.
Dodam że ustawienia mam takie:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 8 ' default use 10 for the SW stack
$framesize = 24 a odczytuje tak:
$timeout = 1
Input Rsin
If Rsin = "set" Then Rsdata(1) = "Ustawienia RS"Może coś mam źle ustawione lub odczytuje się to jakoś inaczej?
Sprawa jest taka że program musi lecieć w pętli cały czas i nie mogę uzyć np samego polecenia :
Inputmuszę używać jeszcze
$timeout = 1aby program nie stawał i nie czekał ma wprowadzenie czegoś z terminala.
Najlepiej aby umieścić cała procedurę wysyłania i odbierania danych w jakimś np. timerze. Piszę programiki w Visual Basic i tam takich odzielnych timerów-podprogramów wykonywanych w między czasie mogę wstawiać dużo. Ale w Bascomie nie mam pojęcia jak to ugryźć.
Poprostu wszystko działa ok poza tym że zjada mi znaki w wysyłanych danych z terminala lub mojej aplikacji w VB.Próbowałem używać różnych prędkości portu com i w sumie działa mi tylko na 4800 i 9600.Dziwne.
Procek taktuję tak:
$crystal = 16000000 Proszę o jakąś poradę lub naprowadzenie mnie "łopatologicznie" na trop.
Dla zgryźliwych dodam że:
1.Przeglądałem bardzo intensywnie sample w Bascomie
2.przeszukiwałem Google i uruchamiałem 1000000 różnych kodów
3.Skończyły mi się pomysły.