Codevision avr

Cunoașterea cu microcontrolerele la mine a apărut iz-pentru dorința de a face un termometru. După cum am înțeles, prin numărul de opțiuni pentru implementarea unor astfel de proiecte, termometrul pe MK este deja un multivibrator. Am găsit proiectul cu codul sursă în această foarte piele, am gravat tabla, lipit, cusut cu 5 fire și am început să mă bucur, paralel cu alegerea sursei. A fost foarte ușor să alegeți la kodvinzha, dacă nu pentru unele probleme. Nu compatibilitatea completă a versiunii este o altă jumătate de probleme, cea mai interesantă nenorocire este următorul meu proiect: un ceas pe ds1307, despre care va fi vorba acest post.

Odată cu crearea proiectului nu există dificultăți, mi sa părut miercuri miercuri și pare a fi foarte ușor de utilizat, dar nu am intenționat să obțin orele colectate. Doar ei puteau să-i lanseze prin repetarea repetată a resetării, iar analiza zborurilor a început. Nu văd codul complet, deoarece am folosit funcții standard de bibliotecă. Eu, ca începător, am examinat pe scurt fișa cu date despre ds-ku și am găsit un paragraf interesant acolo:

CLOCK ȘI CALENDAR
Informațiile despre timp și calendar sunt obținute prin citirea octelor de registru corespunzătoare. RTC
registrele sunt ilustrate în figura 3. Ora și calendarul sunt setate sau inițializate prin scrierea corespunzătoare
înregistrați octeți. Conținutul înregistrărilor de timp și calendar este în format BCD. Bitul 7 din registrul 0
este ceasul de oprire a ceasului (CH). Când acest bit este setat la 1, oscilatorul este dezactivat. Când este șters la un 0,
oscilatorul este activat.
Rețineți că nu este definită starea inițială de pornire a tuturor registrelor. Prin urmare, este important
pentru a activa oscilatorul (bitul CH = 0) în timpul configurării inițiale. Deci, acum ne uităm la biblioteca standard și vedem inițializarea ceasului:

Ciudat, nu este nimic despre acest pic. Desigur, nu am ghicit imediat în bibliotecă, la urma urmei, cumva ceasul a încercat să meargă, mai ales după ce timpul a fost stabilit (la oprire - acele ore), au fost lansate:

Și începutul ceasului este paralizat, pentru că, evident, bitul de start nu este descris nicăieri.

Decizia mea este cu siguranță strâmbă, dar în acest stadiu poate fi încă scrisă ca o victorie

Da, imediat după inițiere, facem un control și începem, dacă este necesar.

Biroul meu cu siguranță, nu pretinde să kakuyu- orice valoare informativă, și plină de satisfacții poate fi numit, probabil, cu interferențe, dar sper că el poate și va fi util în același novice ca mine.

inb4: Da, înțeleg că kodevizhen mediu foarte rău, dar așa cum se spune adesea, „bariera de la intrarea pe piață“, mi-a apărut aproape zero, prin deschiderea unei surse străine, a fost de ajuns pentru mine câteva ore de la „0“ pentru a înțelege despre ce și cum.

Articole similare