Nikako. Taj program nisam detaljno ni gledao, puno zakomplikovano. Isto bi bilo i sa while...
Ono sto sam ja napisao je ceo program bez podesavanja portova, i definisanja promenljivih i pinova za lcd.
I ima greska u mom kodu, editovan je post viewtopic.php?f=3&t=17300&p=159673#p159673
Moze da radi i onako, ali zna da pravi probleme ukoliko se impuls promeni dok se izvrsava ovaj kod:
if SW = 1 then i=i+48
if sw1= 1 then i=i+24
Pause 100'ovde moze mala pauza ako koristis reed ili tako nesto, ako koristis hall mislim da debounce ne reba za njega
Nema na cemu. Bilo bi lepo da vidimo i gotov uredjaj...
Obrati samo jos jednom paznju da ti je 65535 maksimalni broj koji mozes smestiti u promenljivu i.
bice ovih dana i gotov uredjaj daa daa ni netreba mi vise otld toga na.dnevnom nivou sa kombajnom mogi da uradim sam 25Ha a ako mi bude malo naravicu da mi bude
i=i+1 pa cu na.kraju ispisati 1*0.0048...Mislim da ce moci i takoo da radii.
pedja089 wrote:Nema na cemu. Bilo bi lepo da vidimo i gotov uredjaj...
Obrati samo jos jednom paznju da ti je 65535 maksimalni broj koji mozes smestiti u promenljivu i.
@zeljkogelic
Sad mi je doslo u glavu koliko je 65 hektara... U pbp ne mozes direktno pomnoziti sa 0.0048, ali mozes podeliti sa 208. Sto mu dodje 0.0048076, po meni dovoljno blizu.
@Crni
U Pic Basicu za manje serije od 18F, nema 32bita direktno...
Odradjeno je deljenje, i mnozenje valjda, indirektno. Mozes kao rezultat dobiti nizih 16 bita, ili visih 16 bita.
Pa ih sastaviti, ali nema direktnih funkcija za LCD itd.
Ovo je uradjeno kao optimizacija izmedju vremena izvrsavanja i velicine koda visih komandi PBP-a, i mogucnosti.
Na PIC18 seriji, postoji biranje izmedju max16 bita i max 32 bita.
Verzija sa 16 bita je mnogo brza, ali ni 32 nije losa. Ja koristim iskljucivo verziju sa 32bit.
Postoji biblioteka za floating point, i postoji biblioteka za koliko god hoces bita integer matematiku.
Ako ti treba 512bita promenljiva, nikakav problem... Vreme izvrsavanja koda - jako sporo...
Obe biblioteke su asemblerske, ali ni malo teske za koriscenje iz PBP-a.
Ono sto mi je jako zanimljivo isti kod uradjen u XC8 ili kako se vec zove, i u PBP radi razlicito.
Na kodu u C-u puca USB konekcija svakih 10min, na PBP sve stabilno.
Isto tako prakticno isti kod u mikroC je oko 8 puta veci nego u PBP-u.
Probano na nekom primeru brojaca zrna za sejacicu(drug radio diplomski pa imao problema da smesti kod u 8K koliko mu je imao PIC)...
ja sam napravio prototip kontrole setve za sejacicu, tipa da li je proslo zrno ili ne i hteo sam dodatno da dodam brojac tih zrna ali jos nisam razradio to, teski sam amater u ovom programiranju ali me jako interesuje tako da cu se pomuciti u skorije vreme da dodam na tu kontrolu brojanje semena sto je jako korisno u poljoprivredi...
Nije to komplikovano...
Kako si resio senzor za detekciju zrna? On je nesto eksperimentisao sa IR Led i IR foto tranzistorom, nesto stampao na 3D stampacu da se ubaci na cev itd...
Da i ja sam resio sa ir senzorom koji cu napraviti nosac sa dva lima i zastiti od spoljasnosti i samo moram dopisati kod za brojanje tih zrna moram to naci kako da odradim da kada upali zelenu lampicu da onda i izbroji po jedno zrnoo.
ovako zavrsio sam sve ispisao kod ubacio u cip povezao sve i nece da radi moze neko da.mi kaze.kalo da ukljucim interni oscilator i da ga definisem, na 16f628a ili eksterni da definisem na 16f84a
PICKIT2 je nezgodan za podesiti u njemu. Koju verziju PBP-a imas? Verzija mikrocode nije bitna.
EDIT: Koju god verziju PBP-a imas, pogledaj u helpu. Treba da ima opisano detaljno...
Taj PBP jos nije izasao.
To je verzija micro code studia.
PBP moze biti 2.45; 2.50 ili 3.0.
Al iz fajla mi se cini da je 2.45. Ako koristis asembler koji dolazi uz picbasic, trebas ovu liniju izmeniti
device pic16F628A, INTRC_OSC_NOCLKOUT, wdt_on, mclr_on, lvp_off, protect_off
Ljudi uspeo sam da napravim sve ali mi je dosao problem kad ga upalim ne broj vec ispisuje random neki broj random...ne krece mi od nule i ne brojim kad ukljucim...da li zna neko sta moze biti problem?
KAd se kontroler pokrene, u ram-u se nalaze nepoznati i nedefinisatni brojevi.
Tako da svaku promenljivu pre upotrebe moras postaviti na pocetku programa.
U PBP imas CLEAR da postavi sve na nulu...