Elektronika.lt
 2025 m. balandžio 11 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 04 11, 12:28. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » reikia parašyti TIKSLŲ sekindės užlaikymą.
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 15
Pereiti prie 1, 2, 3, 4, 5  Toliau
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 13:51 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
kaip reiktų parašyti tikslų sekundės trukmės užlaikymą C/C++ kalba? tikslų, tai reiškia, maximum su 1/1000`000 s paklaida.

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 15:58 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Aidas
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą MSN Messenger
Kaip parasyt tiksliai su C/C++ nezinau. Taciau su assembleriu tai nera labai sunku. Tereikia zinoti, kuri komanda kiek taktu uzima ir pasiskaiciuoti. Kazkada netgi univere buvo tokia uzduotis. Pasistengus, galima pasiekti vieno takto tiksluma, t.y. tureti 1/f tiksluma (f - kontrolerio taktinis daznis). Tik tokiu atveju turi buti uzdrausti visi trukiai ir nieko kito kontroleris daryti negali.

Dar galima bandyt su taimeriais, bet tada siek tiek sunkiau tiksliai suskaiciuot taktus.

P.S. tokiem laiko skaiciavimams labai padeda "pati neveiksniausia" komanda NOP, kuriu, jei truksta uzlaikymo, pridedi kiek reikia.

P.P.S. neuzmirsk paziureti DataSheet'uose koks yra rise-time'as ant kojos (jei siusi impulsa i isore)

_________________
Adutis™
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 16:17 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dreifas
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Ar cia koki mikrokontroleri su C++ programini? Siaip bet kokiu atveju tikslus laikas gaunamas naudojant taimeri. O jeigu yra RTC tai dar geriau - galima visai paprastai uzdeti kad generuotu pertraukima kas sekunde.
Geriau parasyk ant kokios platformos generuosi ta 1 sek.
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 16:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
Citata:
Kaip parasyt tiksliai su C/C++ nezinau. Taciau su assembleriu tai nera labai sunku. Tereikia zinoti, kuri komanda kiek taktu uzima ir pasiskaiciuoti. Kazkada netgi univere buvo tokia uzduotis. Pasistengus, galima pasiekti vieno takto tiksluma, t.y. tureti 1/f tiksluma (f - kontrolerio taktinis daznis). Tik tokiu atveju turi buti uzdrausti visi trukiai ir nieko kito kontroleris daryti negali.

Dar galima bandyt su taimeriais, bet tada siek tiek sunkiau tiksliai suskaiciuot taktus.

P.S. tokiem laiko skaiciavimams labai padeda "pati neveiksniausia" komanda NOP, kuriu, jei truksta uzlaikymo, pridedi kiek reikia.

P.P.S. neuzmirsk paziureti DataSheet'uose koks yra rise-time'as ant kojos (jei siusi impulsa i isore)




na su asemmbler`iu, tai taip, nėra labai sudėtinga, na su NOP funcija, tai tikrai nesinorėtų, kartoti ją 8 000 000 kartų... be to, dabar vistiek programas rašau su C kalba, tai nesinori maišyt...

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 16:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dreifas
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Speju kad bandai ant WinAVR. Ten reikia bibliotekos delay.h, kuri naudojasi taimeriu kad generuoti uzvelinima.

Kodas:
#include <avr/delay.h>
//tada darai cikla
int i;
for(i=1;i<=100;i++)
_delay_ms(10);


tikiuosi minti pagavai.
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 16:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
Mindaugasu rašo:
Ar cia koki mikrokontroleri su C++ programini? Siaip bet kokiu atveju tikslus laikas gaunamas naudojant taimeri. O jeigu yra RTC tai dar geriau - galima visai paprastai uzdeti kad generuotu pertraukima kas sekunde.
Geriau parasyk ant kokios platformos generuosi ta 1 sek.
taip programinu mikrokontrolerį (ATMEGA16 arba AT90S2313), nebūčiau į mikrokontrolerių skyrių rašęs, jei ne uC programinčiau... hmm, su platforma bus sudėtingiau, nes nelabai žinau, kad tai yra Embarassed bet manau, kad bus ICE.

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 16:28 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
Mindaugasu rašo:
Speju kad bandai ant WinAVR. Ten reikia bibliotekos delay.h, kuri naudojasi taimeriu kad generuoti uzvelinima.

Kodas:
#include <avr/delay.h>
//tada darai cikla
int i;
for(i=1;i<=100;i++)
_delay_ms(10);


tikiuosi minti pagavai.
mitnį pagavau, bet man niekaip nepavyksta delay.h include pakeisti procesoriaus taktinį dažnį. Bandžiau šiek tiek kitaip:
Kodas:
_delay_ms(250);
_delay_ms(250);
_delay_ms(250);
_delay_ms(250);
bet man mirksėdavo, gal tris kartus greičiau nei turėtų. nes pakeitus F_CPU ir parašius reikiamą dažnį, jokios reakcijos nebūna...

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 19:18 Pranešti apie taisyklių pažeidimą Atsakyti su citata
valdaz
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
kaip daryti pertraukti kas 1s su timer1
Kodas:
#include <tiny2313.h>

//pertrauktis kai skaitliukas sutampa su OCR1
interrupt [TIM1_COMPA] void timer1_COMP(void)
{
// invertuojam visa D prievada
PORTD=~PORTD;
}

void main(void)
{
// visi porto D isvadai veikia kaip isejimai
DDRD=0xff;
PORTD=0xff;
//taimeris Timer1 yra 16bitu max skaiciuoja iki 2^16=65500
//uC taktinis daznis 11059000Hz taigi padalinus ji su dalikliu 1024
//gausim 10800Hz
// taimeris susilygins kas 10800/10800=1s
OCR1A=0x2A30;
// taimeris atjungtas nuo OC1
// PWM  isjungtas
TCCR1A=0x00;
//daliklis is 1024, isvalom taimeri kai reiksmes sutampa
TCCR1B=0xD;
// bita OCIE1A TIMSK registre padarom 1 kad sutapus su OCR issauktu pertraukti
TIMSK=0x40;   
// kiti pertraukciu saltiniai isjungiami
GIMSK=0;
// ijungiam globalias pertrauktis
#asm
    sei
#endasm
while (1);
}
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 29, 23:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dreifas
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
JAULER rašo:

Kodas:
_delay_ms(250);
_delay_ms(250);
_delay_ms(250);
_delay_ms(250);

na naudiojant WinAVR biblioteka negali rasyti bet kokio skaiciaus i _delay_ms() funkcija. Kuo daznis didesnis tuo si reiksme tegali buti mazesne, t.y., kad nebutu reiksme didesne uz didziausia galima laiko tarpa suskaiciuojama su 16 bitu skaitliuku. PVZ, esant 1 MHz taktiniam dazniui, max reiksme funkcijai gali buti 262 kai 16Mhz tai ta reiksme riekai dalinti is 16 ir gausim 262/16=16. ka ita reiksme virsyja galima tada gaunasi pievos.
Viskas tas yra include faile aprasyta.
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 30, 00:44 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
10e-6 (dar kitaip sakoma 1ppm(parts per milion) tikslumas, atitinka 3 sekundes per menesi) tikslumo nepasieksi niekaip, tavo kvarcas nebus toks tikslus, reikes termostabilizacijos. atmega generatorius manau nepasizymi ipatingu tikslumu.

daugiausia ka gali pasiekti vieno takto tiksluma.

o siaip dar svarbu kam to reikia, gal galima taimeri panaudoti

o jei tau reikai tikslaus nereguluojamo uzdelsimo tainera sudetinga, padari koki cikla ir patikslini asamblerio nop komandomis.
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 30, 08:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
budris
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą MSN Messenger
yra application notes parasyta, toks tikslus laikas nera taip paprasta
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 30, 14:26 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
na man 1 takto tikslumas bus puiku. iš esmės, tada jei per mėnesį 3 s, tai 1 min, per 20 mėnesių, kas reiškia, beveik du metus.

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 30, 14:33 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
pirma pasaktk ka tu ten darai kad tokie nerealus reikalavimai keliami.

nes jau sakiau kad toks tikslumas neimanomas vien del kvarco tikslumo, reikia bent jau sureguliuoti kvarco daznuma
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 30, 14:35 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
laikrodį... bet labai tingiu kokį atskirą timerį dėt.

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 reikia parašyti TIKSLŲ sekindės užlaikymą.
PranešimasParašytas: 2006 08 30, 16:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AndriuZ
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą ICQ numeris
Siaip palengvinant skaiciavimus tai buna kvarcai specialaus daznio
kad ir REZONATORIUS KVARCINIS 4.194304 MHz
jei tikslaii pamenu Wink

ir sakykim dar galeciau pasiulyt toki ekrano varianta Very Happy
duomenys perduodami serijiniu budu

http://www.andriuz.skynet.lt/temp/laikrodukas/
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie 1, 2, 3, 4, 5  Toliau
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
KCD2 Mods
Installing KCD 2 Mods, KCD 2 Guides, KCD 2 Cheats
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Wiki
GTA 6 Map, GTA 6 Characters, GTA 6 News
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama