Vezi Muti Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 void chipInit(void){ TRISA = 0; //all outputs TRISB = 0; //all outputs CMCON = 7; //comparator disabled PORTA=0; //all low PORTB=0; //all low} Ce eroare avem noi aici? hint: Daca ne jucam cu un LED, nu se pune. Dar daca pe RA0 aveam un releu care trebuia sa declanseze o bomba-atomica dupa un anumit interval, nu apucam sa lansam de prea multe ori programul... Poate de d'aia e bine sa mai si publicam din capodoperele noastre. (chiar copiate de pe net:) Link spre comentariu
Liviu M Postat Februarie 16, 2015 Autor Partajează Postat Februarie 16, 2015 Probabil te gandesti la ordinea operatiilor.In momentul in care o sa ma ocup de bombe, o sa pierd timp sa studiez mai atent ce downloadez din internet. De data asta am descarcat un amarat de palpaitor.PS Pana acum nu ai dorit un program perfect/corect, ai vrut sursa unui program propriu. Link spre comentariu
Liviu M Postat Februarie 16, 2015 Autor Partajează Postat Februarie 16, 2015 (editat) Si pentru ca mi-am urmat sfatul dintr-un post anterior (RTFM), am eu o intrebare (de "misterios"). De ce sunt sanse ca micul meu exemplu sa functioneze corect chiar si pentru bombe? Hint - RTFM. Editat Februarie 16, 2015 de Liviu M Link spre comentariu
Vezi Muti Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 Pai, trebuie sa-mi raspund la propria intrebare? Daca ma iau dupa comentariile specialistilor bercioiu sau genmark , eu nu am de unde sa stiu. Intrebarea ramane fara nicio incercare de raspuns? Si atat de simplu si de frumos este codul postat. Si cate intrebari mai aveam a pune. Pacat. Link spre comentariu
bercioiu Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 Si cate intrebari mai aveam a pune. Pacat. Am ceva sfoara prin casa ramasa de la mutarea pianului, ti-o pot imprumuta, sapun faci tu rost... Du-te mai omule si taie-ti venele si nu ne mai sugera noua ca esti atat de destept incat nu mai are nimeni loc de tine! Ai luat tu toata desteptaciunea de pe pamant si noi muritorii am ramas prosti. Lasa-ne! Lasa-ne! Link spre comentariu
grifonul_alb Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 void chipInit(void){ TRISA = 0; //all outputs TRISB = 0; //all outputs CMCON = 7; //comparator disabled PORTA=0; //all low PORTB=0; //all low} Ce eroare avem noi aici? Va rog sa-mi spuneti si mie daca este o eroare si in ce consta acea eroare ( daca acest program ar fi fost facut pentru bo mbe)? Ca eu unu nu inteleg care ar fi problema. (sunt incepator in microcontrolere). Link spre comentariu
Vezi Muti Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 grifonul_alb, scuze dar nu am de gand sa raspund acum. este o eroare. fatala uneori. am incercat sa abat discutia de la ceasuri cu CUC-uri si dat vina pe PIC-uri chinezesti din cauza de necunoastere. vad ca nu este bine primit asa ceva. Link spre comentariu
Liviu M Postat Februarie 16, 2015 Autor Partajează Postat Februarie 16, 2015 (editat) Asa cum am zis intr-un post anterior, probabil se gandeste la succesiunea operatiilor cu care am initializat controllerul. Am scris intai TRISA=0 (ma rog, in cazul de fata e prioritar CMCON=7), dupa care am facut PORTA=0, existand sansele ca o perioada de timp (durata de cand am facut RA0 -> output pana cand am facut RA0 = 0) RA0 sa aibe un potential suficient de ridicat ca sa comande "releul cu bomba"). Intamplator la picul folosit de mine valoarea de reset a lui RA0 e 0 , asa ca de-aia am zis ca sunt sanse ca bomba sa ramana la locul ei. Editat Februarie 16, 2015 de Liviu M Link spre comentariu
Vezi Muti Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 Liviu , hai ca incape se-mi placa. "RA0 are valoarea 0" cand? La reset este default input. sau la picul tau nu este asa ? Link spre comentariu
Liviu M Postat Februarie 16, 2015 Autor Partajează Postat Februarie 16, 2015 (editat) A, aia e problema ta? Din pacate mie mi se pare o falsa problema. Adica nu e problema de programare, se rezolva extern. Nu mi-am batut capul prea tare cu "problema" asta, dar cred ca nu poate fi rezolvata in soft (asta e, la pornire toate porturile sunt intrari). Editat Februarie 16, 2015 de Liviu M Link spre comentariu
Marian Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 Da ce mama naibii importanta atat de cruciala are ordinea declaratiilor? ca de azi dimineata de cand citesc si tot vad ca stimabilul domn Vezi Muti se tot plange pe tema asta dar refuza sa argumneteze, si nu pricep, cumva concuram pentru ceva in genul codul ideeal? declaratiile alea se fac practic simultan, so wtf? zau asa Muti, daca stii ca ceva este gresit si cunosti express o situatie in care eroarea poate fi fatala, baga omule mare si detaliaza,. daca nu... pai decat sa te tot lasam sa iti bati joc de munca altora mai bine inaintez un raport frumos unde cer sa fii trimis intr-o scurta vacanta pentru comportament abuziv, ca o meriti... 2 Link spre comentariu
Liviu M Postat Februarie 16, 2015 Autor Partajează Postat Februarie 16, 2015 (editat) Marian, din pacate uneori conteaza, dar nu in programelul de mai sus. Daca n-ar fi modul de "io's dastept, hai ca va arat eu voua" de a se exprima al lui VM, discutia ar putea fi interesanta. Din pacate incep sa-mi pierd interesul. Editat Februarie 16, 2015 de Liviu M Link spre comentariu
Vezi Muti Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 Nu ai inteles. Daca vreau sa trec un port din input (default in cazul asta) in output, adica TRISx=0, trebuie initial sa fac PORTx=0 sau 1 in functie de ce vreau sa am pe acel port imediat dupa setare. La tine, dupa TRISA=0, valoarea 0/1 de pe RA0 este incerta, mai ales daca nu este un PIC care sa contina registrii LAT. In cazul PIC-ului tau ai numai registrul PORTx atat ca IN cat si OUT. Daca in montaj ai un pull-up acolo... Hai ca ma opresc aici. Link spre comentariu
bercioiu Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 grifonul_alb, scuze dar nu am de gand sa raspund acum. este o eroare. fatala uneori. am incercat sa abat discutia de la ceasuri cu CUC-uri si dat vina pe PIC-uri chinezesti din cauza de necunoastere. vad ca nu este bine primit asa ceva. Daca vrei intr-adevar sa ajuti in vreun fel, scrie posturi coerente, in care sa arati didactic si cu explicatii pertinente ce erori sunt, sau par a fi! Crezi tu ca este relevant in programul postat de initiatorul topicului, ordinea in care se initializeaza picul? Eu zic ca nu, atata timp cat toata viata programului este sa aprinda si sa stinga un led, restul discutiilor "daca ar fi bomba", etc, nu sunt decat frecari de menta! De fapt asta este tot ce poti face tu! Sa freci menta pe nervii nostri! Nu mai face pe misteriosul atotputernic, te-am mai intrebat la un moment dat daca te poti "lauda" cu vre-un proiect cap-coada realizat de tine si eventual impartit si cu altii, te-ai facut ca ploua! In sensul asta, pot sa te caracterizez ca fiind un teoretician ratat, frustat s.a.m.d. Link spre comentariu
Marian Postat Februarie 16, 2015 Partajează Postat Februarie 16, 2015 Liviu pai tocmai asta e chestia, aplicatia de fata nu e ceva atat de critic, si apoi indiferent de situatie, nu asa se arata cuiva ca greseste, D-zeu mi-e martor ca sunt novice convins la programare si tu si cu Thunderer m-ati ajutat mult, dar n-ati facut-o in stilul "ba sa vezi ce desetept sunt eu si am gasit ditamai greseala, da nu ti-o zic care e, ca esti prea prost..." poate ca exagerez dar asta e ideea... Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum