 |

|
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 02 20, 13:03. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » keli lygegreciai dirbantys metodai AVR'e, ar imanoma???
|
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
|
|
|
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 26, 15:12 |
|
|
|
tai va jau kalias pasizaidimo programeles ant ATmega8 susimeciau, veikia, nera ko skustis, bet va klausimas pasistojo ar imanoma atmegoje paleisti kelis metodus suktis vienu metu. tarkim sukasi kazkox main ciklas, bet sureagavus i kokius tai veiksmus isijungia lygegreciai jam kitas ar keli cikliukai kurie dirba savo darba o atidirbe baigiasi ir vel laukia savo laiko kada bus pazadinti. ar butina visa tai daryti pagrindiniame metode ir visada tikrinti ar neiviko tas ivykis???
tikiuosi supratote ko klausiu...  |
|
|
|
|
 |
 |
Re: keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 26, 20:24 |
|
|
|
Lauris rašo: |
tai va jau kalias pasizaidimo programeles ant ATmega8 susimeciau, veikia, nera ko skustis, bet va klausimas pasistojo ar imanoma atmegoje paleisti kelis metodus suktis vienu metu. tarkim sukasi kazkox main ciklas, bet sureagavus i kokius tai veiksmus isijungia lygegreciai jam kitas ar keli cikliukai kurie dirba savo darba o atidirbe baigiasi ir vel laukia savo laiko kada bus pazadinti. ar butina visa tai daryti pagrindiniame metode ir visada tikrinti ar neiviko tas ivykis???
tikiuosi supratote ko klausiu...  |
Visviena teks daryti scheduleri, t.y. valdanchia programa, kuri paskirstys procesoriaus laika. Tas nera paprasta. Ypach jei nori daugiau nei dvieju lygiagrechiu giju. Jei telpi i pora giju, tai bandyti galima kaip nors gal per petraukimus zhaisti .
Pas mane scheduleris padarytas papraschiau, nes daug giju:
Yra pagrindinis ciklas, kuris kvietineja visus metodus ish eiles, o metodai jau patys tikrinasi pagal flagus (veliaveles, semaforus, kaip chia pavadinsi), ar jiems reikia vykdytis, ar ne. Kaip veliavele gali buti pvz. skaitliukas. Pvz. kas antra schedulerio cikla startuoja metodas A, kas septinta B ir D, o kas 23731'a startuoja C. Realiai to galbut niekam nereikia, nes chia gi nera tikras multitaskingas, bet labai patogu, ypach kai retai prisedi prie programos (nebeacimeni visko). T.y. gaunasi paprasta logika, ir programa lengva "masteliuoti" (scalable program) bei keisti.
Tiesa pas mane ir gelezhis moduline, bei labai leta, del to atmega didzhiaja dali laiko "ruko" ir padaro metodu darba akimirksniu. Jei metodai naudoja daugiau skaichiavimu, toks schedulinimas blogai, nes ishsisinchronizuos viskas laike.
Sau |
|
|
|
|
 |
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 27, 12:43 |
|
|
|
Nu tai sitoki buda galima vadinti kaip vieno metodo, tik tas metodas tiek ir atlieka kad visada sukasi ir issaukineja kitus metodus. Beto tokiu metu paleidus viena rimtesni metoda laiko atzvilgiu kiti metodai gali nespeti i jiems suteikta laika(tu apie tai man atrodo irgimenejai), nebent rimtesnius metodus skaidyti i smulkensius algoritmus ir i tarpus prikisti kitu metodu, bet tai butu bereikalinga kodo ir programos sunkinimas. siaip pagrindinis tixlas kokio as noriu pasiekti tai kad pagrindinis atmegos metodas sau netrugdomai suktusi ir operuotu pagrindiniais duomenimis(visam tam reiketu salyginai negauog operaciju) bet tuo paciu metu, priklausomai nuo ivykiu pasileistu salutiniai metodai kurie galetu pakeisti tam tikrus padrindinius duomenis bei tam tikrus pasimti, ir tai noriu pasiekti nekvietinedamas pastoviai visu metodu su uzklausa "ar tai neiviko kox nors veiksmas kad turetum padirbeti".... |
|
|
|
|
 |
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 27, 15:26 |
|
|
|
idomu kodel procesus vadini metodais? kazkoks keistas terminas.
visa tai galima padaryti gana lengvai, yra net gatavu operaciniu sistemu su multitaskingu atmegai. Tiesiog rasai atitinkamas C funkcijas ir ir OS jas vykdys vienu metu, taip kaip windows ant PC.
Bet sitoks budas mazai naudingas, nes tai is esmes tas pats ka sake kwlw.
geriau naudoti pertraukimus, kadangi visu funkciju dazniausia nereikia vykdyti vienu metu tai pvz priemus simboli is UART atliekame ka reikia ir tesiame pagrindine programa.
taip pat yra ADC taimeriu ir IO pertraukimai
o kaip toliau ka daryti priklasuo nuo situacijos. |
|
Paskutinį kartą redagavo Digix, 2007 01 28, 05:29. Redaguota 1 kartą |
|
|
|
 |
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 27, 17:39 |
|
|
|
Pilnai "vienu metu" procesorius negali atlikinėti. Reikia naudoti arba Multitaskingo sistemą, arba statyti du procesorius ir juos sinchronizuoti (fiziškai vienu metu tik vieną ASM komandą CPU gali vykdyti).
Tik FPGA vienu metu gali vykdyti šimtus operacijų. Bet čia jau kitas mokslas. |
|
|
|
|
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 28, 19:27 |
|
|
|
Tai kad uC vienu metu gali tik viena veiksma daryti as zn. as noru suzinoti ar imanoma jei imanoma kaip padaryti kad galima butu paleisti du ar daugiau metodus(procesus) vienu metu, vienas nuo kito nepriklausancius, o tada uC paeiliui vykdytu po viena, pora kiekvieno proceso komanda(s) kad tie procesai vyktu nuosekliai. ar tokio dalyko sprendimo variantas butu geriausias jtiesiog surasyti tuos procesus is eiles ir tada viena paskui kita aktyvuoti ir tegul patys ziurisi, nori jie kazka daryti ar dar ne??? |
|
|
|
|
 |
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 28, 19:43 |
|
|
|
nuoseklus vykdymas tai kai kas kita, tam reikia kad viena funkcija savo darba baigtu pries paleidziant kita. bet tas ne visada imanoma. tada galima i labai ilga funkcija istatyti trumpu funkciju iskvietimus. gausis jau kazkas panasu.
jei nori normalaus multitaskingo tai taudok kokia operacine sistema, ji pati pasitrupina visku, paieliui sustabdo viena procesa pratesia kita tada ta vel tadbdo vel tesia trecia ir taip toliau visus ratu suka, pagal nurodytus proiritetus. |
|
|
|
|
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 01 28, 20:00 |
|
|
|
THNX. o del OS. gal kas turit kokiu pvz kokios naudoja maziausiai resursu, kur apie tai galima rasti info.
AVR jau paleidau minimaliai, reikia tai tobulinti ir pradet svajot apie kazka auksciau  |
|
|
|
|
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 02 03, 11:47 |
|
|
|
Šiaip tai, naudok pertraukimus. Visą valdymą sukelk į pertraukimų funciją ar paprogramę. Pertaukimuosų funkcijoje kurk pranešimą funkcijai, kuri tą turėtų tai sutvarkyti. Stenkis kad, funkcijose neužsisėdėtų procesorius. Ir taip toliau. Gerą temą užvedei. Jei gerą algoritmą sukursi pasidalink. Tai veda prie mažujų procesoriukų operacinės sistemos.
Chebra atsikratykite tų linijinių programų, kurios tik ekperimentams tinka.
Pirmyn... |
|
|
|
|
 |
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 02 03, 14:20 |
|
|
|
Aš darau štai kaip. Sakykim, ateina Ethernet pertraukimas. Pertraukime tik nusiskaitau visus paketus, ir pasidedu į atmintį. Uždedu vėliavėlę, kad yra duomenų iš Ethernet.
Kitas pertraukimas vėl kažkokias komandas gavęs tik atlieka duomenų nuskaitymus, ir uždeda vėliavėlę kad reikia kažką daryti.
Ir t.t. Visos komandos surašomos lyg į tam tikrą sąrašą (alternatyva programuojant Windows - TList tipas).
Pagrindinėje programoje pastoviai sukasi ciklas, kuris tiesiog žiūri ar yra atėjusi kokia nors komanda. Tad niekur neskubėdamas CPU ir atlikinės vieną veiksmą paskui kitą. Ir visada gausiu reikiamus pertraukimus.
Tiesa, šis metodas jau reikalauja šiek tiek daugiau RAM resursų. Bet rimtesnio projekto su mažais resursais ir nepavyktų atlikti. |
|
|
|
|
 |
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 02 03, 15:49 |
|
|
|
siaip jei funkcijas galyma vykdyti paeiliui taip vargti neapsimoka.
sakykim priemei paketa is ethernet, tai to paties pertraukimo funkcijoje ji apdoroji, ir issiunti atsakyma.
Zinoma gali buti kad tai ilgai uztruks todel to pertraukimo viduje nereikia isjungti kitu pertraukimu.
zinoma reikia pakankamai ram bet ne tiek jau daug.
multitaskingo reikia tik tada kai funkcijas butina vykdyti vienu metu, ir jos niekada nesibaigia, tada tokios funkcijos vadinamos procesais. |
|
|
|
|
 |
keli lygegreciai dirbantys metodai AVR'e, ar imanoma??? |
Parašytas: 2007 02 06, 16:58 |
|
|
|
O ar imanoma ir jei imanoma tai kaip padaryti kad kazkoxmetoda reaguotu i koki nors Input??? tarkim pradetu dirbti tik tada jei PORTD == 1???
Kodas: |
while(1)
if (PORTD == 1)
{
...
...
{
|
netinka, tai tik kritiniu atveju |
|
|
|
|
|
 |
Google paieška forume |
|
 |
Naujos temos forume |
|
 |
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 |
|

|
 |