[ rsinisa @ 15.12.2012. 06:04 ] @
Kako bi sam tutorijal bio pregledniji, sva pitanja koja imate (i za PBP3 i za PROTON) postavljajte ovde.

Pozdrav.
Sinisha
[ rsinisa @ 18.12.2012. 09:08 ] @
Dve dobre vesti i jedno pitanje:

Drugar sa foruma poznat kao elektrostudio javio se da sve primere koje napišem za PBP3 prevede u asembler.
Još jedan drugar sa foruma poznat kao goran_68 hoće sve primere koje napišem u PBP3 da prevede u C.
Tako da će praktično ići 4 tutorijala istovremeno.

Verujem da će za C da bude puno interesenata. E sad pitanje: iako ja maksimalno podržavam da ide paralelno i ASM, i smatram da to može da bude samo od koristi, nisam siguran da li se elektrostudiu isplati da troši vreme na to jer ne verujem da će ikome, sem meni, to biti zanimljivo. Konkretno pitanje glasi: ima li interesenata za ASM tutorijal? Čak i ako nema, ako elektrostudio ima vremena i dobre volje, neka odradi taj deo, ja tu ideju maksimalno pozdravljam.

Pozdrav.
Sinisha


[Ovu poruku je menjao rsinisa dana 18.12.2012. u 12:28 GMT+1]
[ bogdan.kecman @ 18.12.2012. 10:53 ] @
ASM je extra koristan, cak i ovi sto cukaju C nekad moraju da odrade nesto u ASM-u tako da je znanje doticnog neophodno. Ako kolega ima vremena to ce sigurno napraviti tutorijal znatno korisnijim i univerzalnijim :)
[ Darko_zed @ 18.12.2012. 12:50 ] @
Citat:
Konkretno pitanje glasi: ima li interesenata za ASM tutorijal?

Meni bi bio zanimljiv cisto da prosirim vidike , ne bih da se maksimalno posvetim tome nego kao sto Bogdan rece veoma je koristan i donekle neophodan tako da
pozdravljam i podrzavam ideju.
[ yt1nvs @ 18.12.2012. 18:14 ] @
podrzavam obe varijante a posebno ovo za C.
[ tma1717 @ 30.12.2012. 21:30 ] @


verovatno početnička greška ali je ne nadjem..
[ rsinisa @ 30.12.2012. 21:58 ] @
Greška je moja, stavio sam zareze u jednu od poruka umesto ampersanda. Ispravno je ovako:

http://www.elitesecurity.org/t453500-1#3222526

Pozdrav.
Sinisha


[Ovu poruku je menjao rsinisa dana 31.12.2012. u 00:30 GMT+1]
[ mooljacc @ 25.02.2013. 21:10 ] @
Imam pitanjce tice se razvojnog sistema ,posto se pomalo igram sa razvojnim i eksperimentisem zaglavio sam na jednom detalju ...npr.kad hocu da mi TA1 bude ulazni pin ,i da se izvrsava neka naredba pritiskanjem TA1.... to cemo lako odraditi stavimo da je port ulazni i digitalni ,i kazemo

symbol taster=porta.4
pocetak:
if taster=0 then

nesto...bla bla....

e sad ... kao sto sam napisao if taster=0 then .... stavio sam 0 zato sto na RA4 ima otpornik koji ide na +,i stalno je 1 na pinu,tasaterom mjenjamo stanje na 0...i ok to pije vode ...

e sad pitanje kako ja da iskoristim druge tastere ,koji nemaju otpornik na pinu ... posto ne mogu da ih natjeram da rade a mislim da je to razlog...ispravite me ako grijesim...




hvala :D
[ goran_68 @ 25.02.2013. 21:41 ] @
Aktiviraj pull-up otpornike na tim pinovima.
[ mooljacc @ 25.02.2013. 22:17 ] @
Jesam ,ali opet nece..mozda grijesim u komandi


wpub.0=1

:/ ali opet mi nije jasno da li taj pull up otpornik sto ga aktiviram spojen sa pinom i masom ili pinom i plusom.... ako je sa masom ne vidim efekta posto taster pravi spoj sa masom i pinom pa otpornik dodje paralelno tasteru...



[ goran_68 @ 25.02.2013. 22:40 ] @
Moraš da ih omogućiš i u OPTION registru. Pull-up je time vezan između pina i VCC.
[ mooljacc @ 27.02.2013. 21:30 ] @
Nasao sam u datasheetu gdje se podesava... pa cu da probam ...

vec imam jedan drugi problem koji mi se desavao na razvojnom ali evo sad i sa 12f629 piconjom.... napisao sam program da mi piconja ima dva izlaza tj. dve diode na izlazu .... i 4 prekidaca na ulazima ... svaki prekidac je odredjan mod rada ledica... npr. samo jedna... obe... naizmjenicno... itd..i to sljaka...
vec mi nije jasno sto svaki put kad upalim pic tj. cijelo kolo ... odmah mi svijetle diode iako ni jedan od prekidaca nije ukljucen...i kad ukljucim neki od prekidaca radi sve normalno .... iskljucim iskljuce se i diode... i onda radi bez problema dok opet ne otpojim sa baterije kolo... :/
[ Odin D. @ 27.02.2013. 22:09 ] @
Kad se mikrokontroler uključi, njegovi pinovi imaju neko definisano stanje nakon uključenja, i prije nego li se program mikrokontrolera počne izvršavati. Možeš pročitati u datasheetu za tvoj mikrokontroler na kom logičkom (naponskom) nivou su pojedini pinovi odmah poslje uključenja.
Ti tvoji pinovi na kojima su te diode očigledno su u stanju koje omogućava diodama da svijetle, a ti stanje tih pinova počneš da mijenjaš tek kasnije u programu kada pritisneš neki prekidač.

Ako hoćeš da ti diode ne svijetle po uključenju, onda odmah na startu programa, prije bilo čega drugog, dovedi te pinove na potreban nivo.
[ mooljacc @ 27.02.2013. 22:16 ] @
HVALA! rijesio sam problem.
Ja sam mislio da je kod svih logicka 0,ocito nisam dobro mislio :)
[ mooljacc @ 28.02.2013. 21:07 ] @
ljudi navukao sam se na ove igracke :D


Hocu da napravim da sa jedim tasterom mjenjam vise modova rada ledica i na kraju da se ugase,stim da na druga dva ulaza gdje su prekidaci zadrzim njihove rezime rada.

npr.sad je nesto ovako
prekidac jedan ,blinka zelena
prekidac dva ,blinka crvena

ideja je da sa tasterom napravim tri rezima ;
rezim 1 ,blinkaju zajedno zelena+crvena
rezim 2 ,blinkaju naizmjenicno zelena/crvena
rezim 3 ,ugasi

nasao sam jedan primjer gdje ulazni port stavljen da je varijabla byte tipa
dim TEST as byte ' Variable TEST is of byte type
main: ' Start of program
TEST = 5 ' Constant TEST = 5

A TMR0 podesen da prima inpulse preko odredjenog pina
ako se
if TMR0=5 then nesto tj, ako je primio 5 inpulsa ...

sad mogu li ja njemu zadati vise konstanti npr.
test1=2
test2=3
TEST=5
if TMR0=2 then da radi rezim 1
i tako za rezim.2 i 3


Hvala



[ k_spale @ 15.03.2013. 20:41 ] @
Pozdrav.
Zanima me koju je naredbu bolje koristite GOTO ili DO,LOOP sto se tice petlji.
Mozeli da se koristi naredba DO,LOOP,UNTIL umesto IF,THEN za nadgledanje stanja ulaznig pina .

Ovako:

do until portb.0=0
loop



Umesto:

e:
if portb.0=0 then main
goto e






[ ZAS011 @ 15.03.2013. 21:45 ] @
Možeš bilo koju varijantu, jedinol što si tako "zaglavljen" u petlji dok ti portb.0 ne bude na log. 0. Za to vreme program ništa drugo ne može da radi. Moraš da osmisliš neki drugi način, npr. korišćenje interapta na portu b.

Od "beskonačnih" petlji najvišeobožavam:

While 1 = 1
...
...
...
Wend

[ rsinisa @ 16.03.2013. 00:01 ] @
Citat:
k_spale:
Pozdrav.
Zanima me koju je naredbu bolje koristite GOTO ili DO,LOOP sto se tice petlji.
Mozeli da se koristi naredba DO,LOOP,UNTIL umesto IF,THEN za nadgledanje stanja ulaznig pina .

Ovako:

do until portb.0=0
loop


Čitaš mi misli, to je planirano da bude sledeća lekcija, izlazak iz petlje kada se ispuni neki uslov.

Citat:

Umesto:
if portb.0=0 then main
goto e


Nisam proveravao kako tačno komapajler napravi to u ASM, ali ASM nema petlje već samo 2 tipa skoka i moguće je da napravi potpuno isti ASM, tako da je to po meni stvar ukusa i opredeljenja samog programera kojim stilom želi da piše programe.
Sa neke programerske strane gledano, preporuka je da GOTO treba izbegavati kad god je to moguće, ali ja ne volim da budem "ukalupljen" od strane nekih pravila ako meni iz nekog razloga to ne odgovara. Ako hoćeš da dobiješ kraći kod, probaš obe varijante i vidiš koja je dobitna.

Kao što reče Šćepa, ostaješ zaglavljen u petlji koja ne radi ništa drugo, ali ako ti je to cilj, onda je to ok.

Sve u svemu, kako kaže slogan jedne dečije emisije na TV-u koja se prikazivala poodavno: "Raspitaj se, razmisli, i odluči sam". Programiranje je kreativan proces i mnoge stvari odradiš kako ti se u tom trenutku čini adekvatno.

Pozdrav.
Sinisha
[ jmikica @ 19.04.2013. 19:55 ] @
pozdrav PBP programerima,ali i ostalima.jasam se izgleda malo pogubio jer sam u svemu po malo kasnio.naime imam razvojnu plocicu od sinise i napravih PK2 ali sad probam da inicijalizujem LCD i ne ide.citah koliko mogu (nocu ) i kad mogu ali ne nadjoh taj segment oko inicijalizacije LCD-a.dosad sam lako to resavao sa 16f877 ali sa ovim piconjom nikako pa pretpostavljam da tu ima neka caka koju ja jos nisam ukapirao (naucio)molim za malu pomoc oko LCD-a da bih mogao nesto dalje da probam.pozdrav mikica.
[ goran_68 @ 19.04.2013. 20:20 ] @
Isto je kao i za 877. Nema neke razlike samo proveri kako si podesio ANSELA i ANSELB registre. Oni pinovi koje koristis za LCD treba da budu digitalni izlazi pa prema tome podesi i ANSEL registre.
[ rsinisa @ 20.04.2013. 12:30 ] @
Imaš u temi o razvojnom sistemu kompletan test program u PBP-u za razvojni sistem, pogledaj tamo.

Pozdrav.
Sinisha
[ bogdan.kecman @ 21.04.2013. 07:45 ] @
Citat:
rsinisa:Sa neke programerske strane gledano, preporuka je da GOTO treba izbegavati kad god je to moguće,


To je jedan od "ponavljaj dovoljno dugo i postane istina" primera ... i odlicno odgovara onoj prici sa majmunima, bananama na merdevinama i hladnim tusem ..

ne postoji nikakav smislen razlog zasto bi neko izbegavao GOTO u BASIC-u.

Kada su na scenu stigli proceduralni jezici (modula, pascal... c) za njih vazi da je los programerski model koristenje GOTO-a. nativni BASIC je kao i ASM sekvencijalan / linearan te je njemu GOTO prirodna instrukcija i cista je glupost izbegavati je. Novi dijalekti BASIC-a vise nisu cisto sekvencijalni/linearni (visual basic na desktopu je objektno orijentisan, qbasic i razni basic-i za mcu-e poput mikroBasic-a su proceduralni etc etc) vec imaju extenzije koje uvode proceduralni i objektni model ljudima naviknutim na BASIC sintaksu. (pa su se sada odjednom javili cistunci sa "nemoj da teras GOTO u basic-u") Neki to smatraju velikom manom tih alata (ima ovde jedan kolega koji non stop kudi mikroBASIC recenicom "izem ti BASIC kad izgleda ko PASCAL" :D ) ... neki to smatraju velikim probojem proceduralnih i objektnih principa .. meni je licno to sve smesno, bilo ko ko zna programiranje kao takvo moze sintaksu bilo kog jezika da prihvati za 10-15 dana tako da kucati proceduralni ili objektni basic prosto nema svrhu, ako ces da pises sekvencijalno, ako ti tako bude brze i lakse i jednostavnije da pratis - basic je idealan jezik, ako ces da pises proceduralno ili objektno zasto bi se limitirao basic-om i koristio nakaradne extenzije istog (potpuno nestandardne i razlicite izmedju implementacija), onda bolje uzmi jezik koji odgovara nacinu na koji ces da pises kod (pascal, c, c++)

[ foxhunter1 @ 23.04.2013. 14:28 ] @
Citat:
bogdan.kecman: To je jedan od "ponavljaj dovoljno dugo i postane istina" primera ... i odlicno odgovara onoj prici sa majmunima, bananama na merdevinama i hladnim tusem ..

ne postoji nikakav smislen razlog zasto bi neko izbegavao GOTO u BASIC-u.

Mislim da je insistiranje na izbegavanju GOTO cisto zbog preglednosti koda, a ne zato sto ce nesto drugo biti krace ili brze.
Mnogo je lakse pratiti tok programa ako koristimo GOSUB, nego GOTO. Pa jos ako posle tog prvog GOTO sledi i drugi, pa i treci
(sto je i neminovno), brzo se covek uplete k'o pile u kucine i izgubi.
[ bogdan.kecman @ 23.04.2013. 14:36 ] @
ako hoces da imas pregledan kod onda ne pises "linearno" vec pises "proceduralno" ili "funkcionalno"

original basic dozvoljava iskljucivo linearno (isto kao assembler) te je prica oko GOTO vezana za basic, kao sto rekoh, pogresna.

e sada, ako koristis novi basic koji podrzava strukture, funkcije, procedure, sto rece kolega, to je paskal sa sintaksom basic-a, ako oces pascal koristi pascal ne basic...

ja licno nemam nista protiv nijednog jezika, asm, basic, jal, pascal, c, python, java ... pisi sta ti volja i sta ti radi posao, nogama, rukama, kako znas .. moze goto i u C-u i nekad je do dzadza koristan .. ja samo govorim odakle dolazi prica sa GOTO i basic-om, dakle nema veze to sa preglednoscu vec je te "best practices" adaptirao kako je ko citao i razumeo pa je doslo do toga da je za basic goto nezeljen statement ... a to je cista...
[ zoligen @ 25.10.2013. 11:20 ] @
Pozdrav!
da li neko ima primer za koriscenje D/A KONVERTORA kod PIC16F1827 pozeljno u asembleru ali moze i u bilo kom jeziku.
google mi je dao ovo
http://www.labe5.org/miei%20files/TUTORIAL%20%20PIC/dac.htm
ali taj primer samo prividno radi dobro u PROTEUS-u. Naime pri simulaciji napon pada od 5V prema 0V ali ako pokusam da, promenom vrednosti u DACCON1 registru, dobijem promenu da na primer napon pada od 3V do 0V ne desava se nista.
Inace ja zelim da na PORTA,2 dobijem pozitivan napon po zelji.
Unapred zahvalan.
[ bogdan.kecman @ 25.10.2013. 11:28 ] @
proteus je vrlo arbitraran po pitanju simulacije ad i da konvertora na
pic-u, simulacija mu je cesto daleko od realnog stanja, posebno kod
picova novije generacije

sta kaze datasheet za dac? ako se dobro secam nema tu neke prevelike
mudrosti?
[ bogdan.kecman @ 25.10.2013. 11:41 ] @
Citat:
zoligen:
ali ako pokusam da, promenom vrednosti u DACCON1 registru, dobijem promenu da na primer napon pada od 3V do 0V ne desava se nista.
Inace ja zelim da na PORTA,2 dobijem pozitivan napon po zelji.
Unapred zahvalan.


evo sad pogledah datasheet
- ne mozes da dobijes napon "po zelji", mozes da dobijes 32 stanja max i to od Vsource- do Vsource+ pritom Vsource- najnize moze da bude na Vss a Vsource+ najvise moze da bude na Vdd.
- da li raspon ta 32 stanja ide do 5V ili do 3V ne pravis u DACCON1 registru (tu biras koje ces od 32 stanja) vec u DACCON0 gde sa DACNSS biras da li ti je Vsource- Vss (gnd) ili Vref- a sa DACPSS biras da li ti je Vsource+ vezan na Vdd ili Vref+ ili interni Fixed Voltage Reference (za FVR u ovom picu mozes da biras da li je 1.024V ili 2.048V ili 4.096V)

Dakle ako hoces da ti izlaz DAC-a bude 0-3V onda na Vref+ dovedes externo 3V i namestis Vsource- da gadja Vss a Vsource+ da gadja Vref+ i to je to

nadam se da je dovoljno jasno ako nije, pitaj
[ zoligen @ 25.10.2013. 11:50 ] @
Hvala na brzom odgovoru. Mozda se ja nisam dobro izrazio, ja hocu da mogu da biram od 0 do 5 volti i da izaberem na primer nesto oko 3V vec koliko dozvoljava 5 bitna rezolucija. U svakom slucaju pokusacu na pravoj ploci pa cu da vidim.
Pozdrav.
[ bogdan.kecman @ 25.10.2013. 11:56 ] @
od nula do 5v namestis vsource- na gnd, vsource+ na vdd (pretpostavljam
da ga napajas sa 5v) i u daccon1 menjas vrednost od 0 do 31
[ k_spale @ 13.02.2014. 21:16 ] @
Pozdrav.
Imam problem sa konfiguracijom .

__config _CONFIG1 & _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF

__config _CONFIG2, _WRT_ALL & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF

#endconfig

Kada izbacim _IESO_OFF , _FCMEN_OFF iz konfiguracije kontroler radi sa internim oscilatorom, a kada je postavljena gornja konfiguracija konfiguracija kontroler neradi.

Problem je sto meni treba da radi sa XT oscilatorom.

__config _CONFIG1 & _FOSC_XT & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF

__config _CONFIG2, _WRT_ALL & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF

#endconfig

Ovo nece da radi.
Ako neko moze da pomogne bio bih mu zahvalan.
k_spale



[ electron2008 @ 14.03.2015. 18:16 ] @
Nije bas 100% vezano za temu, ali da ne otvaram novu... Gde se kod nas moze nabaviti PIC 16F1827 ili 16F1847, da li neko ima na stanju, koliki je rok isporuke. Pozdrav!
[ goran_68 @ 14.03.2015. 19:26 ] @
Kontaktiraj Comet. Nemaju na stanju ovde ali ima u Sofiji. Dovuku oni to ovde brzo.
[ electron2008 @ 14.03.2015. 19:53 ] @
Moracu u Comet-u, posto nisam nasao nigde