 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pon Jun 23, 2008 11:54 am Naslov sporočila: RS232 problem |
|
|
Pozdravljeni!!
Imam dve razvojni napravi. Če vsako zase priklopim na računalnik, obe prav lepo zaznam in je možna komunikacija naprava - PC in to z istimi nastavitvami za obe naprevi (8bit, no parity, 1 stop). Ko pa želim povezati ti dve napravi, pa nikakor ne morem vzpostaviti povezave.
Prva naprave se obnaša kot master in druga kot slave.
Za povezavo uporabljam navadni UTP kabel, RX, TX in GND povezavo. Povezava je narejena pravilno.
V slave napravo sicer dobim interrupt in podatek, vendar je ta podatek vedno 0, na vhod MAXa pa pride pravi podatek (preverjeno z osciloskopom). Če je povezan s PCjem, je ta podatek vedno pravilen.
Kje naj iščem napako?
Ali je možno zaradi notranjih upornosti Maxa?
Hvala za odgovore
Lep pozdrav
Peter |
|
Nazaj na vrh |
|
 |
matjazkariz Član


Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.33
|
Objavljeno: Pon Jun 23, 2008 12:27 pm Naslov sporočila: |
|
|
Upam, da si prav obrnil linije: RX na TX in obratno. UTP kabel? Saj to je serijska komunikacija, ne ethernet. Notranja upornost Maxa? Kaj je to? Mislim, da tu ne sme biti težav razen, če imaš kable med enim in drugim sistemom dolge nad 15m. Priklopi obe data liniji na osciloskop in poglej, če imaš flow v obe smeri. Če imaš baud rate in ostale nastavitve iste in če oba "govorita", potem si mogoče v softverju naredil kakšno napako.? Jaz bi še enkrat preveril povezavo hardverja in se obesil pred in za MAX z osciloskopom na sprejemni strani.
Bolj težko je odgovoriti na tvoje vprašanje, ker nisi ravno izčrpal vseh možnosti za napako preden si post oddal. _________________ LP, Matjaž |
|
Nazaj na vrh |
|
 |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pon Jun 23, 2008 1:14 pm Naslov sporočila: |
|
|
matjazkariz je napisal/a: |
Upam, da si prav obrnil linije: RX na TX in obratno. |
Pravilno, tako podatki iz slave naprave kot tudi iz PCja prihajajo na isti pin.
matjazkariz je napisal/a: |
UTP kabel? Saj to je serijska komunikacija, ne ethernet.
|
Ker je bil prvi kabel pri roki, da sem zlotal na obeh straneh moška konektorja. Gre pa za dolžino 1m, tako da to naj nebi bila tažava.
matjazkariz je napisal/a: |
Notranja upornost Maxa? Kaj je to?
|
Vsak port ima svojo vhodo kot tudi izhodno upornost. Po temih jih bom mogoče zamenal, v glavnem ena mora biti velika, druga majhna. Če je vhodna upornost premajhna (idealno nekončno) in izhodna upornost izhoda, ki je priključen velika, pride do sesedanja signala. V ta namen se uporablja tudi imendančni upornik (oz napetostni sledilnik - z operacijcem), ki ima na vhodu veliko upornost, na izhodu pa zelo majhno.
matjazkariz je napisal/a: |
Mislim, da tu ne sme biti težav razen, če imaš kable med enim in drugim sistemom dolge nad 15m.
|
1m
matjazkariz je napisal/a: |
Priklopi obe data liniji na osciloskop in poglej, če imaš flow v obe smeri.
|
Kaj je flow? Ali je to prenos podatkov? Če je, potem ni v tem težava, pdoatki so poslani od MAXa do MAXa
matjazkariz je napisal/a: |
Če imaš baud rate in ostale nastavitve iste in če oba "govorita", potem si mogoče v softverju naredil kakšno napako.? Jaz bi še enkrat preveril povezavo hardverja in se obesil pred in za MAX z osciloskopom na sprejemni strani.
Bolj težko je odgovoriti na tvoje vprašanje, ker nisi ravno izčrpal vseh možnosti za napako preden si post oddal. |
Za MAXom mi nič ne pokaže z osciloskopom, tudi pri komunikaciji z PCjem vendar podatek pride v master. Nastavitve osciloskopa so bile pravilne (triger na dost majhni napetosti)
vse možno sem že poizusil, vendar ne vem kaj naj še probam |
|
Nazaj na vrh |
|
 |
rudiP Član

Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1235 Aktiv.: 5.67 Kraj: KOPER
|
Objavljeno: Pon Jun 23, 2008 1:38 pm Naslov sporočila: |
|
|
Če ti obe napravi delata s PC-jem je napaka v povezavi kabla. Z univerzalnim instrumentom preveri če so
na pinu dva in tri DB9 konektorja negativne napetosti proti masi(7). V kolikor niso obe žili na minus potencialu, je kabel narobe ( RX -> RX in TX->TX). Zamenjaj 2 in 3 na enem konektorju.
Rabiš tri žile
7 -> 7 (gnd)
2 -> 3 (RX -> TX)
3 -> 2 (TX - >RX) _________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
 |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pon Jun 23, 2008 1:53 pm Naslov sporočila: |
|
|
rudiP je napisal/a: |
Če ti obe napravi delata s PC-jem je napaka v povezavi kabla. Z univerzalnim instrumentom preveri če so
na pinu dva in tri DB9 konektorja negativne napetosti proti masi(7). V kolikor niso obe žili na minus potencialu, je kabel narobe ( RX -> RX in TX->TX). Zamenjaj 2 in 3 na enem konektorju.
Rabiš tri žile
7 -> 7 (gnd)
2 -> 3 (RX -> TX)
3 -> 2 (TX - >RX) |
Uporabljam DB9 konektor
GND je na pinu 5 ne na 7. Razvojno okolje ima vezane samo te tri pine (2,3,5).
Probal sem eno in drugo varianto, vendar ni nikoli na negativnem potencialu |
|
Nazaj na vrh |
|
 |
Branez Moderator


Pridružen-a: Pon 14 Apr 2003 7:21 Prispevkov: 7831 Aktiv.: 33.02 Kraj: Koprivnica HR
|
Objavljeno: Pon Jun 23, 2008 2:08 pm Naslov sporočila: |
|
|
Serial (PC 9) Also known as EIA/TIA 574. Pinout
Hardware Book Internet's largest free collection of connector pinouts and cable descriptions. _________________ The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!
Albert Einstein |
|
Nazaj na vrh |
|
 |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pon Jun 23, 2008 2:43 pm Naslov sporočila: |
|
|
DELA!
Hvala vsem za trud.
Kaj sem spremenil ne vem, samo očitno vso sprobavanje je obrodilo sadove in je začelo delat. Kaj sem naredil pa ne vem. Sem se pa nekaj novega naučil.
Hvala
Lep pozdrav
Peter |
|
Nazaj na vrh |
|
 |
rudiP Član

Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1235 Aktiv.: 5.67 Kraj: KOPER
|
Objavljeno: Pon Jun 23, 2008 4:32 pm Naslov sporočila: |
|
|
Moja tipkarska napaka, pin 5 je gnd. V stanju ko komunikacija miruje morata biti pin 2 in 3 na negativnem potencialu. _________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
 |
drVrh Član



Pridružen-a: Sre 20 Feb 2008 20:17 Prispevkov: 918 Aktiv.: 4.35 Kraj: Slovenija-Koroska-Prevalje-Lese
|
Objavljeno: Ned Nov 30, 2008 12:46 pm Naslov sporočila: |
|
|
LP
Kaj moram nastaviti v PIC16F628 da mi bo delala serijska komunikacija, pri Atmelih vem da moram nastaviti baudovo hitrost (v bascom $baud 1200...) itn. kako pa to nastavim pri PIC-ih?
Vem da ima PIC628 dva pina RB2 in RB1 ki sta namenjena TX in RX to bi povezal z MAX232 nato pa prek serisjkega porta v računalnik!
Moram kako vklopiti te ''bite'', ali samo postavim enega na vhod enega na izhod ali kako?
Aja...programiram pa v mikroBasic kjer že prej nastaviš npr. WDT timer off ali on, interni oscilator ipd. ali je kje tu moj odgovor? _________________ Iz dneva v dan sem se spraševal kaj je to elektrika, vendar nisem našel odgovora ... in še vedno si postavljam to vprašanje
LP
Grega |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.55
|
Objavljeno: Ned Nov 30, 2008 1:12 pm Naslov sporočila: |
|
|
Mislim, da je to vse opisano v helpu, ki pride zraven. Za njuna prevajalnika za pacal in C vem, da je tako, ni razloga, da bi bilo tukaj kaj drugace. Poklices torej funkcijo, ki inicializira port in nastavi baudrate (v imenu ima UART), lahko pa vse skupaj naredis tudi sam z nastavitvijo ustreznih registrov. Informaicje o tem se nahajajo v datasheetu za tvoj MCU. Datasheet najdes na Microchipovi strani in bi ga obvezno moral preuciti za vsak MCU, s katerim nameravas delati. _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
drVrh Član



Pridružen-a: Sre 20 Feb 2008 20:17 Prispevkov: 918 Aktiv.: 4.35 Kraj: Slovenija-Koroska-Prevalje-Lese
|
Objavljeno: Ned Nov 30, 2008 2:04 pm Naslov sporočila: |
|
|
Datasheet sem preučil kolikor se da ni mi pa jasno kje to določiš v mikroBasicu, sedaj bom bolj podrobneje iskal v Helpu (nekaj sem že iskal toda po iskanem pojmu Serial comunication, serial port ali serial ni našlo ničesar pametnega)! _________________ Iz dneva v dan sem se spraševal kaj je to elektrika, vendar nisem našel odgovora ... in še vedno si postavljam to vprašanje
LP
Grega |
|
Nazaj na vrh |
|
 |
Branez Moderator


Pridružen-a: Pon 14 Apr 2003 7:21 Prispevkov: 7831 Aktiv.: 33.02 Kraj: Koprivnica HR
|
Objavljeno: Ned Nov 30, 2008 2:17 pm Naslov sporočila: |
|
|
Išči pod "serin" ali "serout"!
 _________________ The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!
Albert Einstein |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.55
|
Objavljeno: Ned Nov 30, 2008 2:20 pm Naslov sporočila: |
|
|
drVrh je napisal/a: |
Datasheet sem preučil kolikor se da ni mi pa jasno kje to določiš v mikroBasicu, sedaj bom bolj podrobneje iskal v Helpu (nekaj sem že iskal toda po iskanem pojmu Serial comunication, serial port ali serial ni našlo ničesar pametnega)! |
Registre se nastavi direktno, za sintakso jezika bos pa spet moral pogledati v prilozeno pomoc.
V C-ju je to denimo
REGISTER = vrednost;
kjer je REGISTER register, vrednost pa vrednost, ki jo vpises vanj. Kaj je potrebvno vpisati kam je napisano v datasheetu v poglavju o U(S)ARTu. _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
drVrh Član



Pridružen-a: Sre 20 Feb 2008 20:17 Prispevkov: 918 Aktiv.: 4.35 Kraj: Slovenija-Koroska-Prevalje-Lese
|
Objavljeno: Ned Nov 30, 2008 2:41 pm Naslov sporočila: |
|
|
Haha pa sem našel!
Koda: |
Soft_Uart_Init(PORTB, 1, 2, 2400, 0) 'tuakj inicializiramo uart |
zgornja koda postavimo v PORTB RB1 in RB2 na TX in RX, nato nastavimo hitrost npr. 2400 Mb/s, nič pa kolikor jaz razumem (iz help: Parameter inverted, if set to non-zero value, indicates inverted logic on output.) postavimo na logičen izhod!
Je pravilno? _________________ Iz dneva v dan sem se spraševal kaj je to elektrika, vendar nisem našel odgovora ... in še vedno si postavljam to vprašanje
LP
Grega |
|
Nazaj na vrh |
|
 |
drVrh Član



Pridružen-a: Sre 20 Feb 2008 20:17 Prispevkov: 918 Aktiv.: 4.35 Kraj: Slovenija-Koroska-Prevalje-Lese
|
Objavljeno: Ned Nov 30, 2008 6:49 pm Naslov sporočila: |
|
|
Hja samo nekaj pa ne razumem, tisto kar preberemo preberemo z ukazom
recimo primer neke kode, ki je ne razumem najbolje (zato bi prosil za razlago):
Koda: |
error = 1
do
data = Soft_Uart_Read(error)
loop until error = 0 |
Kako potem tisto, ko smo prebrali shranimo v kakšno spremneljivko?
No potem je tu še ukaz:
Ta ukaz kam nekaj zapiše, v računalnik nazaj ali v MCU?
Način zapisa kode(write):
Koda: |
sub procedure Soft_Uart_Write(dim data as byte) |
P.S.: Žal sem tip, ki še v nedeljo pri maši nima miru z MCU! _________________ Iz dneva v dan sem se spraševal kaj je to elektrika, vendar nisem našel odgovora ... in še vedno si postavljam to vprašanje
LP
Grega |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 500 dni
Powered by phpBB © 2001, 2005 phpBB Group
|