Evo imam attiny13 programiran u C-u. Moze li mi neko objasniti kako se koriste integrirani tajmeri? Pokusao sam pogledati u datasheat-u, ali nisam puno nasao.
Hvala unaprijed.
Evo imam attiny13 programiran u C-u. Moze li mi neko objasniti kako se koriste integrirani tajmeri? Pokusao sam pogledati u datasheat-u, ali nisam puno nasao.
Hvala unaprijed.
Bump?
Misliš, nemaš isprogramiran attiny, da imaš onda bi radio..
Kao prvo moraš odrediti 'clock' i hoćeš li ga 'clockati' vanjskim ili unutarnijm oscilatorom (takt na kojem će timer/counter raditi). Imaš input i output registre i moraš mu definirati counter sekvencu u timer/counter kontrol registru. Svaki 'count' povećava ili smanjuje vrijednost TCNT0 u jednom 'timer clocku'. Komparator konstantno provjerava output registar i kad signal dostigne vrijednost (TCNT0), započinje novi 'clock ciklus'. Možeš koristiti i PWM, ali ugrubo to je to.
A što bi ti htio napraviti?
Možda misliš pod timer nešto drugo? Npr. da ti nakon određenog vremena nešto mikrokontroler napravi? U tom slučaju dodaš delay library i koristiš delay u ms. Npr;
#include <util/delay.h>
int main(void) {
while (1){
_delay_ms(broj milisekundi);
}
}
Sorry na losem izrazu...
Uglavnom htio bih imati neku varijablu kojoj mogu pristupati, a da ona svaku sekundu ima jedno povećanje.
Hm, nisi baš puno precizniji..
Kako misliš pristupati varijabli? Misliš komunicirati s MC-om da bi saznao trenutno stanje varijable? Ili misliš da ti na određenu vrijednost varijable MC napravi nešto? Ili nešto treće?
Ako koristiš interni timer/counter, wachdog, procesor će ti raditi neovisno o timeru. Ukoliko želiš znati stanje varijable koja se vrti u ram-u ili stanje registra, moraš komunicirati s MC-om npr. serijskom vezom. To dodatno komplicira stvari. Pretpostavljam da ne želiš ništa od toga, već će jedina zadaća MC-a biti timer? U tom slučaju ti je najjednostavnije programski, pogotovo ako nije potrebna prevelika točnost. Jednostavno napraviš da se program vrti u krug, 'štopaš' ga s gore spomenutim delay-om koliko ti treba (npr 1000ms-1sec) i nakon toga varijablu povećaš za 1. I u krug po novi delay i varijabla +1. Sad je pitanje što bi ti sa tom varijablom radio? Npr. svako povećanje radiš output na jednu od nožica - output port, pališ ledicu ili ..
Probaj zdravo seljački objasniti što bi htio, ovako mi je teško nagađati.
Da, hocu iz mcua vuc trenutno stanje tajmera.
Neznam jesi shvatio, netreba mi stanje tajmera poslano preko serije, hocu imat kod u kojem mogu pokrenuti tajmer i kad hocu mogu procitat trenutno stanje tajmera.
Kako misliš pročitati stanje timera, telepatijom?
Vrtis kod na mcu-u i iz tog tajmera kojeg pokrenes dobijes info o vremenu koje je od njegovog starta do sad proslo