Jump to content
GIGN Forum

Nepieciesama Ideja Ka Uztaisit "taimeri" Ieks C


ANALGINS
 Share

Recommended Posts

tatad ka jau taitlaa rakstiju vaig uztaisit kko lidzigu taimerim, kurs gaida piemeram 5 sekundes uz kadu darbibu kas var atkartoties, un tad iet talak..

doma tada tada ir poga, kuru nospiezhot iet taa laika atskaite 5sec un mainigajam a+1;, ja tas laika poga tiek nospiesta atkartoti tad a=a+1;

problema manuprat ir arii tur ka mikrokontolieris nesaglaba ievaditos pogu spiedienus ilgak ka vienu ciklu, principa man to arii nevaig (lai saglabatu) bet ja gribesu nakotne taisit kkadus menju tad to gan varetu ievajadzeties

kadam ir kadas idejas vai man vienkarsi jagaida uz beefa komentaru ? :)

Link to comment
Share on other sites

ja tev mikrenei ir kaut kāds iebūvēts taimeris, tad saglabā iekš mainīgā "a" timestampu vai arī whatever tev tā mikrene dod ārā... iespējams, ka tas tas taimeris dod ārā vienkārši kaut kādu skaitli, ko tu vari izmantot kā timestampu... un tad kad tu otro reizi nospied pogu, tad salīdzini tekošo timestampu ar to, kas ir saglabāts mainīgajā "a" un izdari secinājumus

Link to comment
Share on other sites

elfas foruma kads labs cilveks padalijas ar kodu, ko pirms gadiem buvejis, tas ir japielabo, jaizmet ara paris nevajadzigas fiichas, problema sakas tur ka kods rakstits asamblerii, ir kadas labas lapas kur palasit kaut ko? kadu tutoriali or smtg? guglei vel neprasiju atbildes..

Link to comment
Share on other sites

BEidz taču ākstīties! Tagad asmu mācīsies! Ne sūda tas tev nepalīdzēs! Tas uzdevums ir vienkāršāks par vienkāršu un tur nav jāpišās ar ASMu! DOH...

Worm - mikrokontrolieriem uz taimer eventa (overflowo skaititājs) generējas interupts. Tā patās var nolasīt skaitītāja vērtību ik pa laikam!

Analgin - tu daudz nepisies, bet iemācies strādā ar taimeriem un lasīt dokumentāciju! Kā tu domā vispār kaut ko izdarīt, ja neesi iemācijies pat lasīt?

Tev vajag 16 bit taimeri uzstādīt. Uzliec viņam tādu prescaleru, lai sanāktu pie 65000 tikiem uz 125ms (500 rpm). Proti - ja tev būs 1Mhz kristāls, tad tev jāliek prescaleris 2, jo 1000000 / 8 / 65000 = ~2.

Tad tu varēsi izdomāt kaut kādu if un kurš noteiks, kad bija dzirkstele. KOpā ar dzirksteli nolasīsi no tā timer reģistra vērtību + uzstādīsi to reģistru pa 0.

Bļā es vienkārši nesaprotu, kāpēc tu vispār to dari, ja nemāki darīt.. :/

Beefs

Link to comment
Share on other sites

Worm - mikrokontrolieriem uz taimer eventa (overflowo skaititājs) generējas interupts. Tā patās var nolasīt skaitītāja vērtību ik pa laikam!

Analgin - tu daudz nepisies, bet iemācies strādā ar taimeriem un lasīt dokumentāciju! Kā tu domā vispār kaut ko izdarīt, ja neesi iemācijies pat lasīt?

Tev vajag 16 bit taimeri uzstādīt. Uzliec viņam tādu prescaleru, lai sanāktu pie 65000 tikiem uz 125ms (500 rpm). Proti - ja tev būs 1Mhz kristāls, tad tev jāliek prescaleris 2, jo 1000000 / 8 / 65000 = ~2.

Tad tu varēsi izdomāt kaut kādu if un kurš noteiks, kad bija dzirkstele. KOpā ar dzirksteli nolasīsi no tā timer reģistra vērtību + uzstādīsi to reģistru pa 0.

Bļā es vienkārši nesaprotu, kāpēc tu vispār to dari, ja nemāki darīt.. :/

Beefs

vis jau butu baigi skaisti, javien tu nerunatu tik gudri, un es saprastu ko tu stasti :(

kas ir prescaleru?

ja domaju izmantot 1mhz kristalu, jo tas ir pilnigi pietiekams ja esmu aprekjinajis frekfrenci..

Link to comment
Share on other sites

Taimeris 16 bitu ir mainigais (2 8-bit registri Hi un Low), kurš ik pēc kaut kāda laika palielinas par 1. Tas, kas lieka palielnāties par 1, to sauc par clock source. Piemēram - clock source var būt external, kas nozīmē, ka taimeris palielināsies par 1, kad kāds clock source pins mainīs stāvokli no 0 uz 1 (vai otrādi, un to var konfigurēt). Tā patās clock source var būt kristāls, kurš darbina čipu. Tādā gadijumā pie 1Mhz kristāla 16bit taimeris apgrieztos uz rinķi ~20x sekundē, jo 16bit = 0 - 65535. Tādēļ var izmantot preskaleri, kas ir tā kā dalītājs. Piemēram - 2x preskaleris palielinās taimeri par 1 uz katru 2otro takti 500k reizes sekundē. U.t.t.

Beefs

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...