Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięproblem z RS232(transmisia w jedna strone)
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
mam problem z RS 232 w Bascomie
niewiem dlaczego transmisia niedziala w obie strony tzn
PRINT-dziala w emulatrze jest wyswietlany tekst ale niestety niemoge nic wyslac
instrukcja INPUT- nie dziala niewiem dlaczego ,w symulaci programowej jest ok dziala wszystko
moze zna ktos przyczyne
niewiem dlaczego transmisia niedziala w obie strony tzn
PRINT-dziala w emulatrze jest wyswietlany tekst ale niestety niemoge nic wyslac
instrukcja INPUT- nie dziala niewiem dlaczego ,w symulaci programowej jest ok dziala wszystko
moze zna ktos przyczyne
daj kawałek programu którym wysyłasz i odbierasz to się zobaczy, oprócz tego funkcja input zwraca echo (to co odbierze to również zaraz wyśle) więc lepiej tego nie używaj lub spróbuj to wyłączyć.
poza tym dane które wyślesz na procek muszą być zakończone enterem
w baskomie jest to chr (13)
Print "transmisja próbna" ; chr(13)
bo inaczej funkcja input będzie trwała aż do przepełnienia licznika ( w bascomie w samples jest to zmienna "w")
pozdrawiam
Grzegorz
poza tym dane które wyślesz na procek muszą być zakończone enterem
w baskomie jest to chr (13)
Print "transmisja próbna" ; chr(13)
bo inaczej funkcja input będzie trwała aż do przepełnienia licznika ( w bascomie w samples jest to zmienna "w")
pozdrawiam
Grzegorz
jesze raz ja przyklad programu
$baud=9600
$crystal=4000000
dim a as byte
do
print "czesc"
input"wpisz 1 lub 0",a
if a=1 then
print "a-1"
if a=0 then
print "a=0"
end if
end if
loop
end
moze to nie jest dobry przykad ale mniej wiecej tak to wyglada
ja dopiero zaczynam pisac w bascomie
przeklaejalem tez z helpa polskiego i to samo:-(
procek to 90s2313
kabel tez sprawdzilem miernikiem jest ok skżyzowane 2z3
i mostki w obydwu wtyczkach na pinie 7i8, na 4i 6
$crystal=4000000
dim a as byte
do
print "czesc"
input"wpisz 1 lub 0",a
if a=1 then
print "a-1"
if a=0 then
print "a=0"
end if
end if
loop
end
moze to nie jest dobry przykad ale mniej wiecej tak to wyglada
ja dopiero zaczynam pisac w bascomie
przeklaejalem tez z helpa polskiego i to samo:-(
procek to 90s2313
kabel tez sprawdzilem miernikiem jest ok skżyzowane 2z3
i mostki w obydwu wtyczkach na pinie 7i8, na 4i 6
poczekaj zaraz ci napiszę cos na 2313
mam tylko pytanie jak podłączyłeś wyswietlacz lcd i jaki ile lini ile znaków
ponadto powiedz mi czy ten procek podłączyłeś bespośrednio do kompa?
jeżeli tak to napewno nie zadziała , musisz to zrobić przez kość MAX 232 lub odpowiednik inaczej możesz sobie spalić atmelka...
mam tylko pytanie jak podłączyłeś wyswietlacz lcd i jaki ile lini ile znaków
ponadto powiedz mi czy ten procek podłączyłeś bespośrednio do kompa?
jeżeli tak to napewno nie zadziała , musisz to zrobić przez kość MAX 232 lub odpowiednik inaczej możesz sobie spalić atmelka...
SAMPLES
$baud=9600
$crystal=4000000
Enable Interrupts
Enable Urxc
On Urxc Dane_wejsciowe
Dim A As Byte
Dim B As String * 1
Do
Waitms 100
' tu możesz sobie napisać swój programik, po odebraniu znaku wyskoczy z pętli i poleci do
'Dane_wejsciowe: gdzie odbierze tylko jeden znak , wyświetli go na lcd i po 200 ms wróci do pętli głównej
Loop
Dane_wejsciowe:
A = Inkey() 'TUTAJ DO ZMIENNEJ A PRZEKAZUJESZ ODEBRANY ZNAK
B = Chr(a) 'ZAMIENIASZ NP NA LITERKĘ
Waitms 200 ' to opóźnienie nie jest potrzebne
'LINIJKI PONIŻEJ W PROSTY SPOSÓB ANALIZUJĄ PRZYCHODZĄCE DANE I WYSYŁAJĄ NA PORT TO CO DOSTAŁY (A B C D)
If B = "A" Then Print "nadałeś " ; B
If B = "B" Then Print "nadałeś " ; B
If B = "C" Then Print "nadałeś " ; B
If B = "D" Then Print "nadałeś " ; B
Return
End
$crystal=4000000
Enable Interrupts
Enable Urxc
On Urxc Dane_wejsciowe
Dim A As Byte
Dim B As String * 1
Do
Waitms 100
' tu możesz sobie napisać swój programik, po odebraniu znaku wyskoczy z pętli i poleci do
'Dane_wejsciowe: gdzie odbierze tylko jeden znak , wyświetli go na lcd i po 200 ms wróci do pętli głównej
Loop
Dane_wejsciowe:
A = Inkey() 'TUTAJ DO ZMIENNEJ A PRZEKAZUJESZ ODEBRANY ZNAK
B = Chr(a) 'ZAMIENIASZ NP NA LITERKĘ
Waitms 200 ' to opóźnienie nie jest potrzebne
'LINIJKI PONIŻEJ W PROSTY SPOSÓB ANALIZUJĄ PRZYCHODZĄCE DANE I WYSYŁAJĄ NA PORT TO CO DOSTAŁY (A B C D)
If B = "A" Then Print "nadałeś " ; B
If B = "B" Then Print "nadałeś " ; B
If B = "C" Then Print "nadałeś " ; B
If B = "D" Then Print "nadałeś " ; B
Return
End
dzieki
wielkie dzieki myslalem ze jest to prostsze ze wystarcza tylko print i input
jeli ktos ma jeszcze jakis pomysl to bardzo chetnie
pozdrawiam
jeli ktos ma jeszcze jakis pomysl to bardzo chetnie
pozdrawiam
RE:
KOMUNIKACJA PO RS232 Z KOMPEM JEST PROSTA , LECZ MUSISZ WIEDZIEC JAKI MASZ TZW. PROTOKÓŁ KOMUNIKACJI
NIE MOŻESZ LICZYĆ NA LOS SZCZĘSCIA , ŻE CI SIĘ UDA.
NAPISZ KIEDYŚ CZY TEN PRZYKŁAD ZADZIAŁAŁ (POWINIEN)
JEZELI CHCESZ TO NAPISZĘ CI TERMINAL (PROSTY) KTÓRY UŁATWI CI NAUKĘ POTRWA TO 10 MINUT , ALE WYŚLĘ CI JUTRO BO JUŻ MI SIĘ NIE CHCE...CHOCIAZ....
NIE MOŻESZ LICZYĆ NA LOS SZCZĘSCIA , ŻE CI SIĘ UDA.
NAPISZ KIEDYŚ CZY TEN PRZYKŁAD ZADZIAŁAŁ (POWINIEN)
JEZELI CHCESZ TO NAPISZĘ CI TERMINAL (PROSTY) KTÓRY UŁATWI CI NAUKĘ POTRWA TO 10 MINUT , ALE WYŚLĘ CI JUTRO BO JUŻ MI SIĘ NIE CHCE...CHOCIAZ....
problem nadal aktualny!!!!
niestety nic z tego to nadal nie dziala wymienilej juz maxa 232 i dalej nic kabel tez wymienilem ,przeinstalowalem system w PC, nieodzywalem sie nic na forum bo niestety pracuje i niebylo mnie przez miesiac w domu.
jak ktos ma jeszcze jakiś pomysł to zapraszam sprubujwe jeszcze zmienic systwem w PC na 2000 teraz ma Me.
jak ktos ma jeszcze jakiś pomysł to zapraszam sprubujwe jeszcze zmienic systwem w PC na 2000 teraz ma Me.
konkretnie
Napisz szczegółowo z czym masz problem na czym testujesz i na którym porcie PCta
Sprawdź:
czy kabel do kompa jest skrzyżowany( 2 na 3 i odwrotnie)masa to numerek 5
ewentualnie spróbuj na połączeniu jeden do jednego
bo skrzyżowanie może być na płytce którą testujesz
Windows nie ma raczej wpływu pod warunkiem ,ze terminal działa
napisz jakiego terminala używasz (bascom?)
wtyczka musi być podpięta do coma który masz ustawiony w terminalu
prędkość coma musi być zgodna z prędkością transmisji procesora
inaczej mogą być "krzaki"
kwarc w procesorze musi mieć częstotliwość zapewniającą mały błąd
w avr daj 4.00 mhz
w mcs51 daj 11.059 mhz
i prędkośc ustaw na 9600
jeżeli te kroki nic nie pomogą to daj mi wszystkie informacje tylko wtedy będę mógł ci pomóc, inaczej to będzie tylko gdybanie do nowego roku.
pozdrawiam
Sprawdź:
czy kabel do kompa jest skrzyżowany( 2 na 3 i odwrotnie)masa to numerek 5
ewentualnie spróbuj na połączeniu jeden do jednego
bo skrzyżowanie może być na płytce którą testujesz
Windows nie ma raczej wpływu pod warunkiem ,ze terminal działa
napisz jakiego terminala używasz (bascom?)
wtyczka musi być podpięta do coma który masz ustawiony w terminalu
prędkość coma musi być zgodna z prędkością transmisji procesora
inaczej mogą być "krzaki"
kwarc w procesorze musi mieć częstotliwość zapewniającą mały błąd
w avr daj 4.00 mhz
w mcs51 daj 11.059 mhz
i prędkośc ustaw na 9600
jeżeli te kroki nic nie pomogą to daj mi wszystkie informacje tylko wtedy będę mógł ci pomóc, inaczej to będzie tylko gdybanie do nowego roku.
pozdrawiam
INFORMACJE
witam pisze co mam i zczym połaczone:
płyta testowa AVT-854
procek 90s2313 kwarc 11.059
terminal z bascoma avr lub tem w windowsie (hyper terminal) prubowalem na tym i na tym
kabel normalny 3 zyły 2 z 3 i masa na 5
prubowalem tez kabla ze wszystkimi zyłami i jak wyzej 2z3
windows Me
ustawienia wterminalu com1 9600 wszystko jest identycznie
wymienilem tez maxa na nowego i procek tez ale to nic nie pomoglo
przewertowalem juz pare numerow ep i edw zeby sprawdzic uctawienia w projrktach imam identycznie jak w wiekszosci i dalej nic zmienie jescze system na win2000 i w tedy zobacze
płyta testowa AVT-854
procek 90s2313 kwarc 11.059
terminal z bascoma avr lub tem w windowsie (hyper terminal) prubowalem na tym i na tym
kabel normalny 3 zyły 2 z 3 i masa na 5
prubowalem tez kabla ze wszystkimi zyłami i jak wyzej 2z3
windows Me
ustawienia wterminalu com1 9600 wszystko jest identycznie
wymienilem tez maxa na nowego i procek tez ale to nic nie pomoglo
przewertowalem juz pare numerow ep i edw zeby sprawdzic uctawienia w projrktach imam identycznie jak w wiekszosci i dalej nic zmienie jescze system na win2000 i w tedy zobacze
Witam. Dawno mnie niebylo, niestety niemam dobrych wiesci dla siebie i dla czytajacych, zmienilem system z Me na 2000 i nic z tego prubowalem
grzebac tez w przerwaniach i tez nic, teraz niedziała juz nawet print sa tylko same kwadraty a o wprowadzaniu danych nie wspomne
przywrucuilem pierwotne ustawienia w biosie i w ustawieniach w windowsie itd
niestety dalej mam same kwadraty.
zostaje jeszcze jedna pruba na innym kompie.
Moze byc to oczym pisze kolega ZbeeGin uszkodzone port(y) ale sprawdzalem na com 1 i com 2
podłaczylem oscyloskop do portu i jest ok jest wysyłana transmisia z PC-ta
niestety moje wszelkiego rodzaju testy nad tym problemem ida bardzo wolno poniewaz moja praca zawodowa zajmuje mi duzo czasu i mogę nad tym pracowac tylko w sobote i niedziele puznym wieczorem:-(
pozdrawiam pikczu
ps. przepraszam za błedy itp.
grzebac tez w przerwaniach i tez nic, teraz niedziała juz nawet print sa tylko same kwadraty a o wprowadzaniu danych nie wspomne
przywrucuilem pierwotne ustawienia w biosie i w ustawieniach w windowsie itd
niestety dalej mam same kwadraty.
zostaje jeszcze jedna pruba na innym kompie.
Moze byc to oczym pisze kolega ZbeeGin uszkodzone port(y) ale sprawdzalem na com 1 i com 2
podłaczylem oscyloskop do portu i jest ok jest wysyłana transmisia z PC-ta
niestety moje wszelkiego rodzaju testy nad tym problemem ida bardzo wolno poniewaz moja praca zawodowa zajmuje mi duzo czasu i mogę nad tym pracowac tylko w sobote i niedziele puznym wieczorem:-(
pozdrawiam pikczu
ps. przepraszam za błedy itp.
Wyjasnienie (ZAMYKAM TEMAT )
Panowie mam rozwiazanie niestety nie zadobre dla mnie
mam uszkodzony rs232 w kompie
ZAMYKAM TEMAT
DZIEKUJE WSZYSTKIM ZA POMOC
mam uszkodzony rs232 w kompie
ZAMYKAM TEMAT
DZIEKUJE WSZYSTKIM ZA POMOC
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 37 gości