|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.66
|
Objavljeno: Ned Mar 14, 2010 11:50 pm Naslov sporočila: |
|
|
V delovanje AVR se nisem še preveč poglabljal, ampak...
Na PIC se tak problem rešuje tako, da se timer registru enostavno prišteje neka vrednost. Na ta način se ne "izgubi" noben cikel in je perioda prekinitve vedno enako dolga (kdaj se zgodi prekinitev dejansko ni pomembno). Tukaj seveda odpade uporaba prescalerja, ker ga vsako pisanje v TMR register resetira.
Mislim, da bi tole moralo delovat tudi na AVR...
_________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
Samo87 Član
Pridružen-a: Pet 25 Jan 2008 2:14 Prispevkov: 462 Aktiv.: 2.34 Kraj: Kamnik
|
Objavljeno: Pet Mar 26, 2010 10:28 am Naslov sporočila: |
|
|
Pa ne vem no... Sem naredil s timerjem1 in ponovno omogočil prekinitve v ostalih prekinitvah, pa je še vedno prehitro za kakih 12 sekund, tako da ne vem kaj je zdaj to. Sem zgleda res slabo načrtoval program. No, ampak s timerjem1 in preescalerjem 256 pri kristalu 10.240 MHz bi lahko stvar kar v redu skalibriral, saj tako nanese 40000 pulzov na sekundo, in z enim pulzom gor ali dol bi nastavljal v ločljivisti 0.0025%.
Pa dobro, se grem sedaj s čim drugim bavit.
LP
|
|
Nazaj na vrh |
|
|
Samo87 Član
Pridružen-a: Pet 25 Jan 2008 2:14 Prispevkov: 462 Aktiv.: 2.34 Kraj: Kamnik
|
|
Nazaj na vrh |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.23 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Čet Apr 08, 2010 7:19 pm Naslov sporočila: |
|
|
Pozdravljeni!
Mi lahko kdo pove in reazloži, kako bi na LCD (2x16) izpisoval številke?
Konkretno bi pisal direkt vrednosti z AD pretvornika...?
Tekst mi rata izpisati, številk (spremenljick) pa ne...
lp, Jernej
_________________ Svet je bil analogen, dokler ni Planck vsega zafrknil... |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.66
|
Objavljeno: Čet Apr 08, 2010 7:32 pm Naslov sporočila: |
|
|
sprintf() ?
_________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
osmica Član
Pridružen-a: Sob 22 Maj 2004 21:16 Prispevkov: 377 Aktiv.: 1.69 Kraj: savinjska
|
Objavljeno: Čet Apr 08, 2010 7:49 pm Naslov sporočila: |
|
|
Okrog ispisa je bilo v tej temi kar nekaj napisanega poglej post od Silvo_v na 3 strani zanimiv primer ispisa.
|
|
Nazaj na vrh |
|
|
jvolk Član
Pridružen-a: Ned 05 Mar 2006 1:14 Prispevkov: 737 Aktiv.: 3.34 Kraj: okolica Divače
|
Objavljeno: Čet Apr 08, 2010 7:55 pm Naslov sporočila: |
|
|
Koda: |
#include <avr\io.h>
#include <stdio.h>
...
char trimer;
char msg[16];
trimer = 77;
sprintf(msg,"%d",trimer);
LCDputs(msg);
|
Kos primera iz predavanja... če ti pride prav
|
|
Nazaj na vrh |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.23 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Pet Apr 09, 2010 10:07 pm Naslov sporočila: |
|
|
Oi!
@osmica
ja, res je!
Vendar sem jaz že zelen in samouk kar se C-ja tiče.
Rad bi, da mi kdo malo razloži kaj določena stvar naredi.
@jvolk
Sem dal to kodo v atmega8 (vključil sem tudi knjižnico, ki je v mapi od predavanj), vendar mi izpiše same štirice...?
Nimam pojma, kaj bi bilo narobe. če spremenim število elementov (saj to pomeni tisto v [] oklepajih?) spremenljivke msg v 4 mi pa izpiše same
lahko malo razložiš, kako ta stvar deluje?
lp, Jernej
_________________ Svet je bil analogen, dokler ni Planck vsega zafrknil... |
|
Nazaj na vrh |
|
|
Samo87 Član
Pridružen-a: Pet 25 Jan 2008 2:14 Prispevkov: 462 Aktiv.: 2.34 Kraj: Kamnik
|
Objavljeno: Pon Apr 12, 2010 2:55 pm Naslov sporočila: |
|
|
Koda: |
char trimer;
char msg[16];
trimer = 77;
sprintf(msg,"%d",trimer);
LCDputs(msg); |
msg je niz šestnajstih znakov.
%d je določilo, ki pove sprintf funkciji, da naj interpretira vrednost spremenljivke trimer kot celo število.
Funkcija sprintf v tem primeru priredi celoštevilsko vrednost iz spremenljivke trimer v msg znakovni niz in na koncu doda znak 0.
LCDputs(msg) pa izpisuje ta znakovni niz, znak po znak, dokler ne pride do 0.
Podroben opis funkcije: KLIK
|
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.66
|
|
Nazaj na vrh |
|
|
žrepko Član
Pridružen-a: Tor 23 Mar 2010 20:12 Prispevkov: 700 Aktiv.: 4.08 Kraj: Ptuj-Maribor
|
Objavljeno: Pon Apr 12, 2010 8:12 pm Naslov sporočila: |
|
|
gumby je napisal/a: |
Biblijo (priponka) v roke in naštudirat jezik... brez tega ne bo šlo.
Kolk vem stvar obstaja tudi v slovenskem jeziku (v tiskani obliki). Prva verzija (brez ANSI C) pa 100%. |
a veš mogoče kje se jo da dobiti in cena?
lp
|
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.66
|
|
Nazaj na vrh |
|
|
majkel Član
Pridružen-a: Sre 22 Avg 2007 15:45 Prispevkov: 84 Aktiv.: 0.41 Kraj: Maribor
|
Objavljeno: Tor Apr 13, 2010 1:32 pm Naslov sporočila: |
|
|
Zanima me ali mi lahjko kdo pomaga.In sicer pri naslednji stvari. Imam ATmega32 in zunanji qvartz 8 Mhz.Sedaj bi rad ta signal pripeljal na en drug prosti pin ker moram izmerit nekaj okol qvartza.
Druga stvar pa je da bi na drug prosti pin moral pripeljati ta isti signal iz zunanjega qvartza 8Mhz vendar bi ga moral zdeliti na okrog 100 Hz oz kolikor je pač mogoče.
Prosim za pomoč. V naprej se zahvaljujem.
|
|
Nazaj na vrh |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.23 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Pet Sep 10, 2010 9:17 am Naslov sporočila: |
|
|
Pozdravljeni!
Imam eno teoretično(zaenkrat) vprašanje!
Torej...
Rad bi naredil števec impulzov z uporabo števnika, vendar bi le-ta moral šteti vsaj do nekje 5000, potreboval pa bi dva. Tukaj se pojavi problem, saj ima večina AVR-jev do dva 8b števnika ter do dva 16b števnika, vhoda za štetje pa en za 8b in en za 16b (T0 in T1 če prav razumem datasheet)
Možna bi bila izbira večjega mikrokrmilnika (npr. AtMega1281), vendar imajo ti visoko ceno (previsoko)-ca. 25€ pri farnell-u , kar nekako ne pride v upoštev
Dalo bi se ga dobit tudi za kaj manj na Ebay-u
Zanima me, kako bi naredil povečevanje spremenljiv kenekako sinhrono s števcem?
Torej, če se števec poveča za 1 se mora tudi spremenljivka, s tem da se števec ponastavi, ko pride do 255, spremenljivka pa se ne sme.
Nekako si mislim, da bi števcu odšteval prejšnje stanje in tako dobil spremembo+if stavek oz. prekinitev, ko prešteje do konca oz. nekaj takega?
lp, Jernej
_________________ Svet je bil analogen, dokler ni Planck vsega zafrknil... |
|
Nazaj na vrh |
|
|
MarkoM Član
Pridružen-a: Tor 12 Sep 2006 15:29 Prispevkov: 2825 Aktiv.: 13.17 Kraj: Lovrenc na P.
|
Objavljeno: Pet Sep 10, 2010 10:25 am Naslov sporočila: |
|
|
sortaj je napisal/a: |
Možna bi bila izbira večjega mikrokrmilnika (npr. AtMega1281), vendar imajo ti visoko ceno (previsoko)-ca. 25€ pri farnell-u , kar nekako ne pride v upoštev |
Uf, ni poceni. Za 10€ dobiš LPC1758, ki se ne more primerjati z eno mego...
|
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 74 dni
Powered by phpBB © 2001, 2005 phpBB Group
|