Mircea Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 19 minutes ago, Liviu.Mihaiu said: @iuli09 Ca sa te convingi ca greseste soft MikroC, Pune un oscilator extern de 16Mhz fara sa modifici nimic... Nu merge! Chiar daca in Edit Project i-am zis exact ce am conectat intre OSC1 si 2. Nu merge si pace. E de la compilator. Link spre comentariu
Vizitator Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 (editat) 5 minutes ago, iuli09 said: Liviu , am uitat sa-ti raspund (scuze!) . Am inlocuit in montaj cristalul de 4Mhz cu unul de 16MHz si nu s-a schimbat nimic in ceea ce priveste perioada temporizata ; unde inainte aveam interval de 5 minute , am avut tot 5 minute . Glumesti? Fara sa modifi nimic in soft si in setari, merge la fel? Este cristalul de 16Mhz defect @Mircea, De unde stie compilatorul ce quartz pun eu acolo? Editat Septembrie 17, 2020 de Vizitator Link spre comentariu
Vizitator Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 (editat) @iuli09 Sa nu-mi spui ca merge si FARA oscilator extern. Ai incercat? Editat Septembrie 17, 2020 de Vizitator Link spre comentariu
Mircea Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 24 minutes ago, Mircea said: Nu merge! Chiar daca in Edit Project i-am zis exact ce am conectat intre OSC1 si 2. Nu merge si pace. E de la compilator. @Liviu.Mihaiu, ai citit asta? Link spre comentariu
Vizitator Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 (editat) @Mircea, Vrei sa spui ca este ramas setat pe OSC intern? Chiar daca el ales din fereastra de setari XT . Editat Septembrie 17, 2020 de Vizitator Link spre comentariu
Mircea Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 (editat) 31 minutes ago, Mircea said: Nu merge! Chiar daca in Edit Project i-am zis exact ce am conectat intre OSC1 si 2. Nu merge si pace. E de la compilator. @Liviu.Mihaiu, ai citit asta? I-am zis ce am conectat EXTERN. Deci uita de intern. In Edit Project i-am zis HFxxxxx (4-16MHz), am indicat frecventa 16.000000MHz si am pus Q de 16MHz. Scriu de pe telefon, nu pot pune captura ecran. Editat Septembrie 17, 2020 de Mircea Link spre comentariu
Vizitator Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 Ok. Hai sa asteptam pe @iuli09 sa vedem daca merge si fara oscilator extern conectat. Link spre comentariu
Mircea Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 Eu l-am pornit si acum merge corect cu oscilatorul intern dupa setarea registrilor. Aveam nevoie de cei 2 pini. Ramane ca si OP sa ii dea de cap. Link spre comentariu
Bandi Szasz Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 Eu de mult m-am invatat sa setez totul manual chiar daca unele lucruri se "seteaza" din edit project, am avut destule situatii ca una era setata si alta facea PIC-ul, referitor la OSC de multe ori am impresia ca acele setari sunt doar pentru compilator fata de care caluleaza unele functii cum e "delay_ms" si nu seteaza efectiv registrii cum ar fi pt alegerea frecventei cu osc intern. Pentru PIC16F18313 din cate am citit rapid in DS la POR default-ul este HFINTOSC la 1Mhz, mult mai probabil asta se intampla si de acea nu a fost nici o diferenta la schimbul de osc extern la 16Mhz, mult mai sigur puteti sa-l eliminati total si tot va merge. Pentru o temp de 10min cu cateva secunde se poate folosii linistit OSC-ul intern, eu foarte foarte rar folosesc osc extern la PIC-uri si am rutine mult mai pretentioase la timp decat cateva secunde la 10min si nu am avut nici o problema. Link spre comentariu
Mircea Postat Septembrie 17, 2020 Partajează Postat Septembrie 17, 2020 Din pacate, exemplele Mikroe arata setari minime sau chiar deloc in exemplele lor. Multi amatori se bazeaza pe acele exemple in programare. Evident, inainte de a proceda la programare, cam trebuie rasfoita foaia de catalog si verificat cum se comporta PIC-ul la pornire, ce valori sunt standard incarcate in registrii. Si incarcat ce avem noi nevoie. Setarea frecventei nu e ceva restrictiv in majoritatea aplicatiilor cu functii uzuale (o intarziere, un ADC) . Ca sunt 4 sau 32MHz nu prea conteaza. D-aia Edit Project cam face treaba in 90% din cazuri. Se pare insa ca uneori este corupta aceasta setare din Edit Project. Eu o sa incerc o reinstalare, caci e dubios ca ce-mi mergea inainte nu mai vrea acuma. O fi fost si alta versiune de compilator. Link spre comentariu
iuli09 Postat Septembrie 18, 2020 Autor Partajează Postat Septembrie 18, 2020 (editat) Montajul functioneza exact la fel cu cristal de 4Mhz ,16Mhz , 20Mhz sau... fara vreunul . In aceasta situatie cred ca trebuie sa ma intorc spre configurarea manuala a diferitilor registri ce gestioneaza oscilatoarele . Cum se acceseaza acest registru ? dupa ce nume ? Editat Septembrie 18, 2020 de iuli09 Link spre comentariu
Vizitator Postat Septembrie 18, 2020 Partajează Postat Septembrie 18, 2020 Esti pe oscilator intern. Dar hai sa mai facem un test: Pune in fereastra cu "MCU Clock ..." = 1Mhz Merge ok temporizarea , nu? Link spre comentariu
iuli09 Postat Septembrie 18, 2020 Autor Partajează Postat Septembrie 18, 2020 (editat) Nu mai pricep nimic : am setat oscilatorul la 1Mhz si perioada de temporizare s-a redus de 4 ori ... N-am schimbat nimic altceva in cod : "minutul" meu are tot 240 de secunde void minut () { delay_ms(240000); } Perioada temporizata trebuia sa fie de 5 minute ; a fost de 75 de secunde . Editat Septembrie 18, 2020 de iuli09 Link spre comentariu
Vizitator Postat Septembrie 18, 2020 Partajează Postat Septembrie 18, 2020 (editat) ok. perfect. pune 60000. Abia acum ai o problema. Trebuie sa vezi "de ce functioneaza corect". Spunea @Bandi mai sus: implicit PIC-ul tau porneste cu OSC intern la 1 Mhz. Nu-ti face probleme de precizie. In cazul tau poate sa fie 100khz, 1Mhz sau 32Mhz. nu conteaza (intern sau extern) Este bine ca ai adus iar in dicutie acel x4. Eu zic sa nu treci mai departe cu studiul pina nu intelegi pina in acest moment. Sau un coleg sa-ti explice. Editat Septembrie 18, 2020 de Vizitator Link spre comentariu
iuli09 Postat Septembrie 18, 2020 Autor Partajează Postat Septembrie 18, 2020 (editat) am setat durata minutului la 60 de secunde si cum era de asteptat , micscorand etalonul de patru ori , durata temporizarii a scazut de 4 ori : unde inainte aveam 75 de secunde am acum 75/4 - 18 secunde . Pentru a avea cele 5 minute spre care tintesc , valoarea deja majorata de 4 ori (de la 60secunde la 240 secunde) ar trebui marita inca o data de 4 ori pana la 960 secunde . Editat Septembrie 18, 2020 de iuli09 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