Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 2.216 pregleda

Najnovija ↓

problem sa kodom 29.11.2011. u 21:09 · pre 182 meseca #1
Pozdrav.
Imal neko voljan pomoći.S obzirom da sam skoro počeo učit o mikrokontrolerima molio bih vas da proučite ovaj kod nemogu ga kompajlirati u hex,MCS izbacuje grešku.Kod je vezan za komunikaciju dva pic-a sa 12 ledica ,sa stranice
http://320volt.com/pic-basic-p...lari-ile-ornek-uygulamalar/12/
evo kod pa ako se nekom ne spava nek izvoli.Unaprijed se zahvaljujem...


DEFINE OSC 4
TRISA=%00011110
TRISB=%11111111
OPTION_REG.7=0
BILGI VAR BYTE

SYMBOL VERIOUT=PORTA.0

MAIN: BILGI=255
GOSUB PORTA_BAK
IF PORTB<255 THEN
BILGI=PORTB
GOSUB VER
while portb<255:wend
ENDIF

pause 10
GOTO MAIN

VER:
serout2 VERIOUT,813,[REP$AA5,REP$005,REP$FF5]
serout2 VERIOUT,813,["E","T","E",BILGI]
serout2 VERIOUT,813,["E","T","E",BILGI]
serout2 VERIOUT,813,["E","T","E",BILGI]
serout2 VERIOUT,813,["E","T","E",BILGI]
RETURN

PORTA_BAK:
BILGI=PORTA & %00011110
IF BILGI<30 THEN
GOSUB VER
' PAUSE 100
ENDIF
WHILE PORTA<30 : WEND
RETURN
END
Re: problem sa kodom 29.11.2011. u 21:13 · pre 182 meseca #2
kod stavi sledeci put u CODE tag (dakle pre koda stavis (o umesto nula) [c0de] a posle koda stavis (o umesto nula) [/c0de] ) da bi se zadrzalo formatiranje ..

sad pitanja
1. koji kompajler (marka, model, verzija)
2. koju tacno gresku (copy/paste greske ovde)

Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: problem sa kodom 29.11.2011. u 21:36 · pre 182 meseca #3
ako se razumijemo

kompajler,MicroCode Studio
greška; GOSUB PORTA.0 BAK ovaj dio koda označi u smeđoj boji

Dole ispod u results piše;
Error line 20;syntax
Error line 31 Bad expression.
Re: problem sa kodom 29.11.2011. u 22:56 · pre 182 meseca #4
greška u ovoj liniji

serout2 VERIOUT,813,[REP$AA5,REP$005,REP$FF5]

treba da bude

serout2 VERIOUT,813,[REP $AA\5,REP $00\5,REP $FF\5]

Pozdrav

Re: problem sa kodom 30.11.2011. u 09:08 · pre 182 meseca #5
Treba da izgleda ovako kada se lepo stavi izmedju Code tag-ova:

Code:
DEFINE OSC 4
TRISA=%00011110
TRISB=%11111111
OPTION_REG.7=0
BILGI VAR BYTE

SYMBOL VERIOUT = PORTA.0

MAIN: 
BILGI=255
GOSUB PORTA_BAK
IF PORTB < 255 THEN
    BILGI = PORTB
    GOSUB VER
    while portb < 255:wend
ENDIF

pause 10
GOTO MAIN

VER:
serout2 VERIOUT, 813, [REP $AA\5, REP $00\5, REP $FF\5]
serout2 VERIOUT, 813, ["E", "T", "E", BILGI]
serout2 VERIOUT, 813, ["E", "T", "E", BILGI]
serout2 VERIOUT, 813, ["E", "T", "E", BILGI]
serout2 VERIOUT, 813, ["E", "T", "E", BILGI]
RETURN

PORTA_BAK:
BILGI = PORTA & %00011110
IF BILGI < 30 THEN
GOSUB VER
' PAUSE 100
ENDIF
WHILE PORTA<30 : WEND
RETURN
END 


Inace, ovo se lepo kompajlira u okruzenju MCS 3.0.0.5 sa kompajlerom PBP 2.60C

@POCETNIK: ova recenica iznad vazi za tebe.

Jedno je IDE (Integrated Development Environment) a drugo je kompajler. Inace skoro svi snipeti kod Turcina imaju greske.
Potpis
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
Re: problem sa kodom 30.11.2011. u 19:28 · pre 182 meseca #6
Hvala puno na pomoći i objašnjenju oko kompajlera, uspio sam kompajlirati uz vašu pomoć ali me muči još,ako ova dva pic-a povežem RF komunikacijom,postojil mogućnost da dođe do nekontrolisanog uključenja ledica odnosno releja koje bih preko ULN kola vezao umjesto led dioda.
Nije mi jasno to kodiranje koje štiti od nekontrolisanog uključenja.
Znači interesuje me dali se koder i dekoder nalaze u samom programu pic-a ili na prijemniku i predajniku.Potrebna mi je daljinska komanda sa četiri kanala tj.četiri releja koja bih mogao kontrolisat na udaljenosti nekih 50m.Ajd ovo sam strpao ovdje da ne otvaram novu temu,Pozdrav najboljoj ekipi...
Re: problem sa kodom 30.11.2011. u 19:42 · pre 182 meseca #7
Kodiranje? U tvom primeru nema kodiranja,samo jednostavna serijska,asihrona komunikacija....tj na prijemu čeka da primi string "ETE" i u zavisnosti od sledećeg bajta određuje koji izlaz menja stanje.

Mogao bi da dodaš CRC proveru tvom kodu i u slučaju da je CRC provera u redu pošalješ na izlaz u slučaju da nije imaš dve varijante:

1) da ne uradi ništa i čeka sledeću naredbu
2) da javi drugom uC da CRC nije prošla i da pošalje ponovo,u tom slučaju bi ti trebala dvosmerna komunikacija između uC-a

Pozdrav



Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme