|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Pon Feb 13, 2006 9:56 am Naslov sporočila: pomoc pri komunikaciji |
|
|
Ko začeneš komunikacijo pošlji v telefon ukaz AT+CLIP=1.
Ob vsakem klicu bo telefon odgovorl z "RING", poslal se dva byta "CR" "LF", ter odgovoril z "+CLIP: "041XXXXX" ter spet poslal "CR" "LF".
Ulaza +CLIP ni potrebno več pošiljati, vse do izklopa telefona.
Vlado |
|
Nazaj na vrh |
|
|
Žičkar Profesionalec
Pridružen/-a: Sre Dec 2004 23:06 Prispevkov: 83
|
Objavljeno: Tor Feb 14, 2006 10:58 pm Naslov sporočila: |
|
|
Stvari do danes nisem nič poskušal,zato nisem vedel kaj se zgodi po vpisu tega ukaza...
No, skratka poslal sem omenjeni ukaz, ki naj bi izpisal številko in jo je res.
sedaj ko pokličem dobim nasledni odgovor:
RING
+CLIP: "031444444",129,,,,0
Sedaj me zanima, kako moram programsko preveriti celotno številko mobilca. oz kateri znak se pošlje prvi(R ali +, ali" ali 0)do krmilnika...
Zanima me tudi, ali mogoče kdo ve, zakaj ko povežem maso mobilca na maso krmilnika telefon neha loviti signal?Ali je dovolj TX na RX in RX na TX ali morajo biti med sabo povezane tudi mase?
no trenutni program je takšen...
INCLUDE 89s8252.mc
org 0000h
SJMP glavni_program
org 0030h
glavni_program:
inicializacija:
MOV PCON,#80h
MOV SCON,#52h
CLR TR1 ;časovnik stop
MOV TMOD,#20h ;način dela2, auto reload 8 bitni
MOV TL1,#FDh ;generator na
MOV TH1,#FDh ;vrednost 19200 Baudov
CLR TF1 ;brišemo prekoračitveno zastavico
SETB TR1 ;časovnik 1start
sprejem:
JNB RI,sprejem
MOV A,SBUF
MOV P1,A
CLR RI
SJMP sprejem
Tu sem želel preveriti samo prvi znak, vendar mi ni uspelo...
Prosim za pomoč! |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Tor Feb 14, 2006 11:49 pm Naslov sporočila: |
|
|
Žičkar je napisal/a: | Sedaj me zanima, kako moram programsko preveriti celotno številko mobilca. oz kateri znak se pošlje prvi(R ali +, ali" ali 0)do krmilnika... |
Najprej se ocitno poslje 'R', potem se nekaj znakov, potem dvakrat CR/LF, potem '+', itd. Dobi dober terminalski program, ki omogoca prikaz vrednosti v ne-ASCII obliki (npr. hex) ali napisi svojega, da bos lahko pravilno interpretiral podatke s telefona, sicer bos ob ASCII prikazu vedno samo ugibal kaj je zares poslano in kaj se je izgubilo med interpretacijo (prikaz v terminalskem oknu).
Citiram: | Zanima me tudi, ali mogoče kdo ve, zakaj ko povežem maso mobilca na maso krmilnika telefon neha loviti signal?Ali je dovolj TX na RX in RX na TX ali morajo biti med sabo povezane tudi mase? |
Zato ker je na drugem koncu mase na strani MCUja gromozanska antena (hisna napeljava) in je telefonova antena zanic ? Moralo bi vseeno delovati - priklop MCUja ni v nicemer drugacen od priklopa na racunalnik (recimo za uporabo telefona kot modema ...).
Signali pri RS232 niso diferencialni, ampak relativni glede na skupno maso, tako da jo bos kar moral prikljuciti, sicer se ne bo zgodilo nic (vsaj nic zeljenega ).
Citiram: | CLR TF1 ;brišemo prekoračitveno zastavico
|
Zakaj pa to ?
Citiram: | sprejem:
JNB RI,sprejem
|
Ta ukaz lahko bolj kompaktno zapises z oznako "$" (brez ""), ki pomeni "trenutno vrstico". Ker je v tvojem primeru trenutna vrstica tista z labelo "sprejem", je JBN RI,$ ekvivalent tega, kar si napisal. Zna se namrec zgoditi, da bo med labelo in ukaz prislo se nekaj kode, tako da bi po nepotrebnem skakal predalec nazaj.
Citiram: | MOV A,SBUF
MOV P1,A
CLR RI
SJMP sprejem
Tu sem želel preveriti samo prvi znak, vendar mi ni uspelo...
|
Tukaj nisi preveril nicesar - samo pocakal si na prvi sprejeti znak (ce je hitrost nastavljena pravilno glede na frekvenco oscilatorja ...) in njegovo bvrednost poslal na P1. Telefon ne poslje nicesar, dokler se kaj ne zgodi - recimo dokler ga nekdo ne poklice ali pa mu ne poslje kaksnega ukaza.
Za konkreten test napisi program tako, da bo najprej preveril ali je komunikacija ustrezno nastavljena (na ukaz "AT" brez parametrov bi se telefon moral odzvati z "OK"), potem naj telefonu poslje tisti ukaz za prikaz stevilke, sele potem pa naj caka na odziv, torej na to, da nekdo poklice. |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Sre Feb 15, 2006 9:44 am Naslov sporočila: pomoc pri komunikaciji |
|
|
Siemens ima na komunikacijskem kanalu napetosne nivoje 3,3V. Mogoče je to razlog da telefon zgubi signal. Uporabi 3,3 V zenerice. Sam sem delal tudi z 5 V signali pa je vse delovalo. Poskusi kak drug telefon.
Vlado |
|
Nazaj na vrh |
|
|
Žičkar Profesionalec
Pridružen/-a: Sre Dec 2004 23:06 Prispevkov: 83
|
Objavljeno: Čet Feb 16, 2006 5:51 pm Naslov sporočila: |
|
|
Gustav je napisal/a: | Žičkar je napisal/a: | Sedaj me zanima, kako moram programsko preveriti celotno številko mobilca. oz kateri znak se pošlje prvi(R ali +, ali" ali 0)do krmilnika... |
Najprej se ocitno poslje 'R', potem se nekaj znakov, potem dvakrat CR/LF, potem '+', itd. Dobi dober terminalski program, ki omogoca prikaz vrednosti v ne-ASCII obliki (npr. hex) ali napisi svojega, da bos lahko pravilno interpretiral podatke s telefona, sicer bos ob ASCII prikazu vedno samo ugibal kaj je zares poslano in kaj se je izgubilo med interpretacijo (prikaz v terminalskem oknu).
Citiram: | Zanima me tudi, ali mogoče kdo ve, zakaj ko povežem maso mobilca na maso krmilnika telefon neha loviti signal?Ali je dovolj TX na RX in RX na TX ali morajo biti med sabo povezane tudi mase? |
Zato ker je na drugem koncu mase na strani MCUja gromozanska antena (hisna napeljava) in je telefonova antena zanic ? Moralo bi vseeno delovati - priklop MCUja ni v nicemer drugacen od priklopa na racunalnik (recimo za uporabo telefona kot modema ...).
Signali pri RS232 niso diferencialni, ampak relativni glede na skupno maso, tako da jo bos kar moral prikljuciti, sicer se ne bo zgodilo nic (vsaj nic zeljenega ).
Citiram: | CLR TF1 ;brišemo prekoračitveno zastavico
|
Zakaj pa to ?
Citiram: | sprejem:
JNB RI,sprejem
|
Ta ukaz lahko bolj kompaktno zapises z oznako "$" (brez ""), ki pomeni "trenutno vrstico". Ker je v tvojem primeru trenutna vrstica tista z labelo "sprejem", je JBN RI,$ ekvivalent tega, kar si napisal. Zna se namrec zgoditi, da bo med labelo in ukaz prislo se nekaj kode, tako da bi po nepotrebnem skakal predalec nazaj.
Citiram: | MOV A,SBUF
MOV P1,A
CLR RI
SJMP sprejem
Tu sem želel preveriti samo prvi znak, vendar mi ni uspelo...
|
Tukaj nisi preveril nicesar - samo pocakal si na prvi sprejeti znak (ce je hitrost nastavljena pravilno glede na frekvenco oscilatorja ...) in njegovo bvrednost poslal na P1. Telefon ne poslje nicesar, dokler se kaj ne zgodi - recimo dokler ga nekdo ne poklice ali pa mu ne poslje kaksnega ukaza.
Za konkreten test napisi program tako, da bo najprej preveril ali je komunikacija ustrezno nastavljena (na ukaz "AT" brez parametrov bi se telefon moral odzvati z "OK"), potem naj telefonu poslje tisti ukaz za prikaz stevilke, sele potem pa naj caka na odziv, torej na to, da nekdo poklice. |
Saj nisem hotel ničesar prevereiti , želel sem samo videti, če bo prepisal vsebino iz buferja na port 1,ker pač z RX in TX-om eksperimentiram prvič, vendar mi ni uspelo.Če sem prav razumel,je vzrok temu tudi to, da masa telefona ni bila povezana z maso kontrolerja(v primeru da je, nisem imel signala in sploh nisem mogel poklicati...).Torej, če mi uspe povezati masi in če bo telefon imel signal,bi po omenjenem algoritmu moral videti poslan prvi znak na P1?...ali je tudi program zgrešen...prenosna hitrost je pravilno nastavljena ker sem jo izračunal,in tudi siemens dela na 19200 preverjeno.
Torej, če mi bo uspelo poslati vsaj en znak, potem bom stvar že izpeljal,tako da grem probat še enkrat in sporočim kaj bo...
Hvala za pomoč! |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Čet Feb 16, 2006 6:47 pm Naslov sporočila: |
|
|
Program izgleda pravilno, nisem pa preverjal nastavitve UARTa, ki si jo izbral. Jaz bi na tvojem mestu najprej prikljucil mikrokontroler na PC (serijski vmesnik z MAX232 med PCjem in MCUjem) in preveril delovanje tam, potem pa se igral dalje s telefonom sele ko bi bil preprican, da vse deluje. |
|
Nazaj na vrh |
|
|
Žičkar Profesionalec
Pridružen/-a: Sre Dec 2004 23:06 Prispevkov: 83
|
Objavljeno: Čet Feb 16, 2006 7:28 pm Naslov sporočila: |
|
|
Ja bom verjetno res moral, kajti do sedaj sem delovanje na računalniku preizkusil kar preko originalnega siemensovega kabla z nepredelanim telefonom in stvar je delovala, toda mogoče je pa lahko kaj narobe z mojim telefonom, ki sem ga že "predelal" za to nalogo...
Upam, da bo uspelo! |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Čet Feb 16, 2006 8:32 pm Naslov sporočila: pomoč pri komunikaciji |
|
|
Žičkar,
kaj si pa predeloval na telefonu?
Težave bi znal imeti s polnjenjem baterije, ker Siemens ne izklopi polnjenja, ampak začne prazniti baterijo če je neprekinjeno priklopljena na polnilec.
Komunikacije pa ne boš imel če masa ne bo skupna!
Vlado |
|
Nazaj na vrh |
|
|
Žičkar Profesionalec
Pridružen/-a: Sre Dec 2004 23:06 Prispevkov: 83
|
Objavljeno: Čet Feb 16, 2006 11:03 pm Naslov sporočila: |
|
|
V bistvu nisem nič predeloval konkretnega, le fizično sem odstranil un konektor za polnjenje in sem potem na pinout prilotal štiri žice za Rx in Tx, maso ter polnjenje in se polni brez problemov.Zaradi tega, ker sem odstranil omenjeni konektor, nisem mogel več nanj priključiti siemensovega kabla in sem zato probal z drugim telefonom...zato mogoče ta telefon ne dela v redu in ga bom raje jutri priključil na računalnik preko maxa da se prepričam.
Upam tudi, da mi ni stavr delovala zaradi tega, ker nisem imel skupne mase.
...upam pa tudi, da če bom imel skupno maso, da bom imel signal |
|
Nazaj na vrh |
|
|
Žičkar Profesionalec
Pridružen/-a: Sre Dec 2004 23:06 Prispevkov: 83
|
Objavljeno: Pet Feb 17, 2006 9:35 pm Naslov sporočila: |
|
|
Danes sem preizkusil vso stvar še enkrat in mi spet ni uspelo.Sedaj mi je končno uspelo povezati masi skupaj in pri tem ohraniti signal, vendar kljub temu nisem prejel ničesar v sbuf.Ker sem začel dvomiti v delovanje mobitela, sem na izhod priključil osciloskop(ker sem danes ravno imel priložnost) in ob klicu je bil videti med maso in Tx priključkom zelo šibek signal.Poskusil sem tudi z V-metrom izmeriti napetost in se mi zdi zelo čudno, da je napetost med maso telefona in med Tx-om ves čas okoli 2,6V(tudi v času ko številka ni bila klicana), ko pa sem številko poklical se napetost ni nič spremenila(še vedno okoli 2,6-2,7V).Predvidevam, da je to vzrok, da mi komunikacija ni uspela, kajti mislim, da bi v času ko telefon ni zvonil morala biti napetost 0V.
Poskusil bom še povezati ta isti telefon s katerim sem poskušal na računalnik in bom videl če bo delovalo, drugače mislim da je kriv telefon. |
|
Nazaj na vrh |
|
|
Žičkar Profesionalec
Pridružen/-a: Sre Dec 2004 23:06 Prispevkov: 83
|
Objavljeno: Čet Mar 09, 2006 8:15 pm Naslov sporočila: Re: pomoc pri komunikaciji |
|
|
Vlado je napisal/a: | Siemens ima na komunikacijskem kanalu napetosne nivoje 3,3V. Mogoče je to razlog da telefon zgubi signal. Uporabi 3,3 V zenerice. Sam sem delal tudi z 5 V signali pa je vse delovalo. Poskusi kak drug telefon.
Vlado |
A te zenerice vežem kar zaporedno, eno na tx priključek in eno na rx priključek ali kako drugače?
Hvala za odgovor! |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Mar 10, 2006 10:35 am Naslov sporočila: Malo drugače! |
|
|
Zener diodo daš tako, da omeji napetost, ki jo pošilja mikroprocesor proti GSM aparatu. Sicer pa če začenjaš se poglabljati v to vodo, priporočam zadnji Svet Elektronike, kjer sem se na široko razpisal o tem. _________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Pet Mar 10, 2006 4:40 pm Naslov sporočila: |
|
|
Na shemi manjka upor na strani proti komponenti, ki deluje z visjo napetostjo (glede na to, da je dioda 2.7V, sklepam, da bo to mikrokontroler). Majhne razlike dioda sicer lahko pokuri, ni pa to prevec dobra ideja. |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Mar 10, 2006 8:52 pm Naslov sporočila: Ja, |
|
|
Ja, to uporabljam pri družini 8051, kjer je visoka upornosti proti +5V že v mikroprocesorju. Dela. _________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Pet Mar 10, 2006 9:18 pm Naslov sporočila: |
|
|
Aha, interni pull-up - potem seveda deluje, se pac MCU malo bolj greje |
|
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 You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|