PIC i RS232 pomoć

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
zgzagorec
Posts: 5
Joined: 31-01-2011, 23:30

PIC i RS232 pomoć

Post by zgzagorec »

Pozdrav svima!

Totalni sam početnik u radu sa PIC-om i programiranjem. Dobio sam jedan nadasve jednostavan zadatak ali nikako da se pomaknem sa mrtve točke.
Zadatak je slijedeći:
- pomoću PIC-a trebam poslati RS232 komandu "PWR?"
- uređaj će mi sa druge strane tada odgovariti sa "PWR0" ili "PWR1"
- ako je odgovor "PWR1" trebam aktivirati jedan izlazni port tj. aktivirati relej, ako je odgovor "PWR0" relej mora biti neaktiviran
- isti upit se ponavlja svakih 5 sekundi (beskonačni loop)

Molim vas za pomoć koji PIC da odaberem i kako bi izgledao kod.
(imam EasyPic6 i Mikroc i MikroBasic)

Hvala Svima
User avatar
Drago_Zg
Odlično uznapredovao
Odlično uznapredovao
Posts: 583
Joined: 16-09-2008, 19:40

Re: PIC i RS232 pomoć

Post by Drago_Zg »

Zakaj ti to treba ? to je za včiti se ili školu ?
[URL=https://meettomy.site]Beautiful Womans in your city[/URL]
Ivan
Pocetnik na forumu
Pocetnik na forumu
Posts: 35
Joined: 11-02-2005, 19:19

Re: PIC i RS232 pomoć

Post by Ivan »

Evo nesto slicno sa cime sam se zabavljao. Program je u PicBasicu
Pozdrav
Attachments
Reset.rar
(28.3 KiB) Downloaded 255 times
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC i RS232 pomoć

Post by pedja089 »

Ovo nije lose uradjeno. Ne bi bilo lose dodati u kurs, malo objasniti, ako imas volje...
Ivan
Pocetnik na forumu
Pocetnik na forumu
Posts: 35
Joined: 11-02-2005, 19:19

Re: PIC i RS232 pomoć

Post by Ivan »

Evo dodao sam malo komentara na kod...
Pozdrav
Attachments
Reset_2.rar
(1.21 KiB) Downloaded 241 times
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC i RS232 pomoć

Post by pedja089 »

Mada to si trebao uraditi sa case. umesto pauza trebao si koristiti serin, a postaviti timeout na 2000, jer u tom trenutku moze da se desi da posaljes jos nesto, a da ovaj ne skonta. I pretpostavljam da se adresa isto trebala koristiti u wait, tako da kad poslajes 1 ne odgovore svi moduli, vec samo onaj sa odgovarajucom adresom. Visak pinova se mogao iskoristiti za podesavanje adrese, sa dip prekidacima ili jumperima u binarnom obliku.
To su samo neke od ideja...
zgzagorec
Posts: 5
Joined: 31-01-2011, 23:30

Re: PIC i RS232 pomoć

Post by zgzagorec »

Hvala Ivane.

Molim te samo za informaciju kako mogu promijeniti Baudrate (kako izračunati vrijednosti koje moram upisati)?
Ivan
Pocetnik na forumu
Pocetnik na forumu
Posts: 35
Joined: 11-02-2005, 19:19

Re: PIC i RS232 pomoć

Post by Ivan »

Ovdje mozes naci sve modove za serin2 i serout 2 komande http://melabs.com/resources/ser2modes.htm" onclick="window.open(this.href);return false;
samo u kodu zamijeni konstante za BaudRx con 32 i BaudTx con 16416 sa drugim vrijedenostima ali pazi jer je RX normal, a TX inverted. Npr. za 9600 BaudRx con 84, a BaudTx con 16468. Pripazi na brzinu oscilatora jer sve brzine nisu podrzane sa svim oscilatorima.

Mislim da timeout nije potreban jer se program vrti u petlji cekajuci "a", a tek onda iduca dva byte-a sprema u R_1 i R_2. Meni je funkcioniralo savrseno. Sto se tice adrese to je bila ideja za vise uredjaja spojenih skupa na 485 bus, ali nisam stighao tako daleko ... Pozdrav
zgzagorec
Posts: 5
Joined: 31-01-2011, 23:30

Re: PIC i RS232 pomoć

Post by zgzagorec »

Hvala na svemu,
malo sam modificirao program, isprogramirao PIC i sve radi :-)
Velika HVALA Ivanu
Kod mene je slućaj da PIC prvi pošalje poruku a onda očekuje odgovor.
E tu sam došao do slijedećeg problema:
- ako uređaj s druge strane nije upaljen prije PICa onda on niti nemože dobiti upit tj. nemože ništa poslati (jer PIC pošalje upit i beskonačno čeka odgovor).
Moja je ideja da on pošalje upit i ako dobije ili ne dobije odgovor ponovno pošalje upit.

Kako da to napravim?

Ovo je ono što sam napisao do sada:
Main:
SEROUT2 Tx,BaudTx,["PWR?",13]
Serin2 Rx, BaudRx,[WAIT("PWR"),R]
If R = "1" Then
high Relej
Else
low Relej
EndIf
Pause 500
Goto Main
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC i RS232 pomoć

Post by pedja089 »

Otvoris program u MCS, stavis kursor na SERIN2 i stisnes dugme na tastaturi F1, i dalje ce ti se samo reci...
zgzagorec
Posts: 5
Joined: 31-01-2011, 23:30

Re: PIC i RS232 pomoć

Post by zgzagorec »

Čitam, gledam, tražim ali ne vidim rješenje mojih problema :-(

Može mala pomoć?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC i RS232 pomoć

Post by pedja089 »

U SERIN2 stavi timeout i label nek ti bude main, i bas ce raditi to sto si trazio...
Nije mi jasno jeli gledamo isti help ili sta...
Evo sta pise kod mene:
SERIN2 DataPin{\FlowPin},Mode,{ParityLabel,} {Timeout,Label,}[Item...]
E sad, tu ima jedna mala caka...
Ukoliko pin ostane na log 0, nikad se nece desiti timeout, zasto nemam pojma...
Ali to tebi nece praviti problem, jer kad upalis uredjaj, njegov TX bi trebao automatski da se postavi na log 1.
zgzagorec
Posts: 5
Joined: 31-01-2011, 23:30

Re: PIC i RS232 pomoć

Post by zgzagorec »

Riješeno.

HVALA
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC i RS232 pomoć

Post by pedja089 »

Nema na cemu...
Drago mi je da si uspeo.
Ivan
Pocetnik na forumu
Pocetnik na forumu
Posts: 35
Joined: 11-02-2005, 19:19

Re: PIC i RS232 pomoć

Post by Ivan »

Evo i plocice u protelu...

Pozdrav
Attachments
RESET2.rar
(8.7 KiB) Downloaded 199 times
Post Reply