Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC i uart pomoc

[es] :: Elektronika :: Mikrokontroleri :: PIC i uart pomoc

[ Pregleda: 2946 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon PIC i uart pomoc26.07.2012. u 23:14 - pre 142 meseci
Pozdrav svima.
Radim neki projekat sa PIC om,u kojem je potrebno da PIC komunicira sa telefonom.
Takodje je potrebno da se prijem podataka obavlja u interaptu .
Osnovni problem mi je kako da detektujem da je telefon ZAVRSIO predaju podataka,da bih izasao iz interapta i nastavio sa glavnim programom.
Ako neko zna,i raspolozen je da mi pomogne bio bih mu zahvalan.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:20 - pre 142 meseci
Citat:
vukboban:
Takodje je potrebno da se prijem podataka obavlja u interaptu .
Osnovni problem mi je kako da detektujem da je telefon ZAVRSIO predaju podataka,da bih izasao iz interapta i nastavio sa glavnim programom.


ne radi to tako. Ti mozes da upalis (na picu koji ima hardwerski uart ako sa telefonom pricas preko uarta) da ti pic trigeruje interapt
- kada ti stigne bajt na uart
- kada ti se popunu rcv bafer na uart-u
- kada ti se isprazni send bafer na uart-u

i onda ti u tom interaptu pokupis taj bajt ili nisku bajtova ili posaljes dalje bajt koji si spremio da saljes.

u ovom tvom pitanju si napisao
- da ne znas kako radi interapt
- da nisi procitao datasheet od pica da vidis kako radi uart

procitaj prvo jedno pa drugo pa se onda vrati sa boljim pitanjem, ne izlazis ti iz interapta kada "zavrsis pricu sa telefonom" vec kada posaljes ili primis par bajtova, zavrsavas sa telefonom tako sto znas sta ce telefon da ti posalje pa znas tacno koliko bajtova cekas, za to ti je potrebno da znas kojim protokolom telefon prica pa onda treba da implementiras taj protokol u svoj firmware

 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:27 - pre 142 meseci
Koji telefon koristis i sta citas? Kakve podatke?



gorankg
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:31 - pre 142 meseci
Interapt trigeruje telefon kad na PICU ukljucim receive interapt,to je OK.
Ono sto saljem telefonu za to mi ne treba interapt,i to je OK
Problem je sto ja ne znam sta ce telefon da mi posalje,pa samim tim ne znam ni koliko je to dugacko,a ne znam ni kako se zavrsava to sto mi on salje.
Evo da pojasnim:
Telefon moze ili da zvoni,u tom slucaju salje <cr><lf>RING<cr><lf>,pa onda broj pozivaoca,pa poruku zavrsava sa <cr><lf>.
Moze i da dobije poruku,koja pocinje sa <cr><lf>CMI ili tako nesto,pa je ta poruka duzine do 150,160 znakova,i zavrsava sa <cr><lf>.
Kako da mogu da primim i jedno i drugo?
Telefon je neki simens,citam iz njega poruke ili broj pozivaoca
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:40 - pre 142 meseci
Citat:
vukboban:
Telefon moze ili da zvoni,u tom slucaju salje <cr><lf>RING<cr><lf>,pa onda broj pozivaoca,pa poruku zavrsava sa <cr><lf>.
Moze i da dobije poruku,koja pocinje sa <cr><lf>CMI ili tako nesto,pa je ta poruka duzine do 150,160 znakova,i zavrsava sa <cr><lf>.
Kako da mogu da primim i jedno i drugo?
Telefon je neki simens,citam iz njega poruke ili broj pozivaoca


napravis state masinu ... tu triger sluzi samo da radi dovatanje bajta koji salje telefon. Poruka ti uvek pocinje sa CRLF i zavrsava se sa CRLF ... kada si u stanju "ne radim nista", kada dobijes CRLF cekas na sledecu nisku da bi presao u sledece stanje, ako je to CMI onda predjes u stanje "citam poruku" i sve bajtove slazes u nisku gde cuvas poruku dok ne dobijes CRLF, to te vraca u stanje "ne radim nista" a u niski gde si cuvao bajtove imas poruku - radi sa njom sta oces ... AKO posle CRLF dobijes RING onda ides u stanje ... i tako dalje tako dalje .. nacrtaj murov graf svih stanja i svih prelaza i onda isprogramiraj taj state machine .. nije komplikovano ...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:42 - pre 142 meseci
pogledaj http://www.microchip.com/forums/m520736.aspx
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:46 - pre 142 meseci
Ma ja sam ustvari imao ideju da mi prijemni bafer bude najvece moguce duzine(nekih 200 bajtova),pa da on u interaptu sve to lepo popuni(jal sa podacima ako ih ima,jal sa nulama ako nema podataka),pa onda natenane u mainu sve to izanaliziram.
Ne znam koliko je to pametno...

Sve ovo pitam jer mi je cilj da se sto manje zadrzavam u interaptu,jer imam jos i I2C komunikaciju sa RTC,a i jos neku data\clock komunikaciju sa nekim cipom,pa ne bih da ih cesto i dugo prekidam
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:52 - pre 142 meseci
Citat:
vukboban:
Ma ja sam ustvari imao ideju da mi prijemni bafer bude najvece moguce duzine(nekih 200 bajtova),pa da on u interaptu sve to lepo popuni(jal sa podacima ako ih ima,jal sa nulama ako nema podataka),pa onda natenane u mainu sve to izanaliziram.
Ne znam koliko je to pametno...


nije pametno
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: PIC i uart pomoc26.07.2012. u 23:58 - pre 142 meseci
Nisi me razumeo,ne da stalno visim u interaptu,nego ako nesto primim (receive flag)udjem u interapt,pokupim 200 bajtova necega,izadjem,i onda to analiziram kad mogu
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc27.07.2012. u 00:53 - pre 142 meseci
jesam te razumeo, nije pametno
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: PIC i uart pomoc27.07.2012. u 06:17 - pre 142 meseci
Prekidna rutina ti nece biti puno veca ukoliko primenis ovo o cemu je Bogdan pisao. Dakle, nece ti drasticno uvecati vreme koje provodi kontroler dok obradjuje prekid sa serijskog porta. Istovremeno, ukoliko to aplikacija dozvoljava, ti mozes prekinuti neku drugu komunikaciju ili iskljuciti ostale prekide ukoliko ti je ova serijska komunikacija najveceg prioriteta. Neki PIC-ovi imaju dva nivoa prioriteta prekida pa mozes i to da koristis ukoliko je tvoj takav.
gorankg
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: PIC i uart pomoc27.07.2012. u 12:09 - pre 142 meseci
PIC je 18F4550,ima on prioritete,ali mi to nije potrebno,jer je jedini prekid ovaj UART prekid.
Probao sam sinoc ovaj moj pristup(cekam RCIF,udjem u interapt,pokupim 200 bajtova,izadjem,i vise ne ulazim do sledeceg RCIF),a kasnije kad mi vreme dozvoli obradjujem to primljeno,i za sad to raki OK,ali svakako cu probati i ovaj Bogdanov pristup.
Hvala svima
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc27.07.2012. u 12:16 - pre 142 meseci
Citat:
vukboban:
ovaj Bogdanov pristup.


nije to "bogdanov pristup", to se tako radi
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: PIC i uart pomoc27.07.2012. u 12:20 - pre 142 meseci
Ma ok,verujem da se to tako radi,ali meni je logicnije da ako vec podatak moze da bude i 10,ali i 200 bajtova(za koji u startu ne znam koliki je) odmah pokupim 200,nego da udjem u rutinu,pokupim 3 bajta,izadjem,vidim sta je,pa opet udjem u rutinu,i pokupim ili ostalih 7,ili u drugom slucaju ostalih 197.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: PIC i uart pomoc27.07.2012. u 12:29 - pre 142 meseci
da ali ti ne znas koliko bajtova ces da dobijes, skocices u interapt kad? kada dodje priv bajt? i tamo ces da cekas sta? 200 bajtova, sto je mozda jedna, mozda dve a mozda tri i pola poruka .. pritom izmedju treceg i cetvrtog bajta mozes da imas 6 sekundi pauzu za koje vreme ces ti da sedis u interaptu i da cekas jos 197 bajtova
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: PIC i uart pomoc27.07.2012. u 12:35 - pre 142 meseci
Ne,proucio sam ja odlicno protokol kojim prica telefon:
kad posalje start bit,ja skocim u interapt.on salje ili 10 ili 200 bajtova,i to brzinom od 19200,nema nikakvih pauza tu tipa 6 sekundi.
Znaci on posalje start,ja udjem u interapt,tom brzinom(19200) pokupim 200 bajtova(da li pravih podataka,da li praznih nula) i izadjem,jer znam da telefon nece nista vise da salje(taj njegov protokol je da tako kazem "jednosmeran",on ne zahteva ni acknowledge,niti ista slicno,nego posalje sta ima i onda cuti).
I on ne salje nista narednih recimo 2 dana!
Doduse pokusavao sam i sa timeoutom u interaptu,ako recimo 1ms ne primim nista(prazan receive buffer) da izadjem iz interapta,u slucaju da primim,ponovo brojim tih 1 ms
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: PIC i uart pomoc27.07.2012. u 20:49 - pre 142 meseci
Pa nije mcu u prekidnoj rutini sve vreme. Kad se napuni RCREG postavlja sa RCIF. Ulazis u prekidnu rutinu i citas RCREG. Time se i RCIF brise. Dok se ponovo ne napuni RCREG ti si van i radis nesto drugo.
korak je negde na ovom forumu jako lepo objasnio kako se radi obrada prijema sa serijskog porta.

[Ovu poruku je menjao goran_68 dana 27.07.2012. u 22:42 GMT+1]
gorankg
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC i uart pomoc

[ Pregleda: 2946 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.