bobtech Postat Iunie 21, 2005 Partajează Postat Iunie 21, 2005 scriu un program in PIC, in modul Debugg si nu merge tot timpul din prima, adica clipoceste un led de ACTIVITY, dar nu reactioneaza la comenzi pe portul serial. la fel se intampla si daca doar i-l programez si rulez programul fara ICD2, adica merge cateodata si altadata nu, pana rescriu PIC-ul. Softuk e OK. Am verificat sistemul dpdv hardware si singura chestie ciudata e ca PIC-ul se reseteaza daca apropii degetul de quartz (2-3mm). Am schimbat quart-ul, l-am conectat direct pe pinii PIC-ului, i-am legat capsula la GND, nici o schimbare. Nu folosesc plan de masa, e cablaj cu o singura fatza si PIC SMD cu 18 pini.Ceva idei ? Ati patit asa ceva ? Cum ii dau de cap ? Link spre comentariu
Cristiano Postat Iunie 21, 2005 Partajează Postat Iunie 21, 2005 Din cate spui, se pare ca oscilatorul nu functioneaza cum trebuie. Masoara cu un osciloscop pinul OSC_IN, ar trebui sa vezi o sinusoida bine conturata, fara zgomote, cu o amplitudine de minim 3V. De multe ori apar probleme din cauza ca masa nu e rutata cum trebuie (masa condensatoarelor de la oscilator trebuie sa fie cat mai aproape de masa PIC-ului, rutata in configuratie stea) ori, mai rar, din cauza ca valorile condensatoarelor nu sunt corect alese (de obicei trebuie 15 - 33pF). Alte probleme posibile sunt legate de modul de configurare al MCLR, am vazut cazuri (unul singur de fapt) in care MCLR nu era setat ca port de intrare si nu avea nici pull-up la Vcc (si PIC-ul se comporta aproape la fel ca in cazul tau). Link spre comentariu
bobtech Postat Iunie 22, 2005 Autor Partajează Postat Iunie 22, 2005 osciltatorul e ok, problema era la reset, am pus o dioda invers (gresit) inseriata cu o rez de pull-up. deci MCLR era in aer. am remediat problema, nu se mai reseteaza cand apropii degetul, e stabil. Dar, tot nu functioneaza tot timpul. Am un program la reset, trimite un R, apoi raspunde la niste comenzi pe serial. La fiecare 100ms un led de ACTIVITY isi schimba starea.Cand alimentez circuitul, trimite R, deci se reseteaza, si clipoceste led-ul, deci ruleaza cod, dar la comenzi pe serial tot nu raspunde tot timpul, adica daca-l resetez merge, daca-l mai resetez de cateva ori, cateva dati nu raspunde la comenzi si tot asa. si de fiecare data ruleaza cod.mersi de ajutor, dar fenomenul asta nu pot sa mi-l explic. (am schimbat si pic-ul, tot asa) Link spre comentariu
Cristiano Postat Iunie 22, 2005 Partajează Postat Iunie 22, 2005 In caz ca folosesti auto-baudrate detect, atunci ar fi bine sa citesti errata-sheet: http://ww1.microchip.com/downloads/en/D ... 80175d.pdf In caz contrar, cred ca ar fi bine sa postezi schema si codul folosit, sa vedem unde poate fi eroarea. Eu am folosit 18F1320 intr-un controller cu interfata DMX (serial asincron, 250kbps) si a mers f. bine. Later edit: in cod, de fiecare data cand primesti un octet pe seriala, trebuie verificati bitii care indica erori de receptie (framing error si overrun error). Aceste erori blocheaza modulul de receptie din USART (care va trebui re-startat) si apar in special datorita zgomotului de pe liniile de date. 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