Elektronika.lt
 2025 m. gruodžio 24 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 12 24, 00:17. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » elementarus kodas
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 22
Pereiti prie Atgal  1, 2
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 elementarus kodas
PranešimasParašytas: 2010 10 28, 18:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Yra ivairiu budu, gali naudot flagus, arba perrasyt interupa. Na gerai sitam daiktui kuris neturi jokios paskirties nera skirtumo tie delay. Bet bent man tai baisu ziuret kai interupte delay privaryta Smile
 elementarus kodas
PranešimasParašytas: 2010 10 29, 08:34 Pranešti apie taisyklių pažeidimą Atsakyti su citata
centronic
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
sneikaz rašo:
Yra ivairiu budu, gali naudot flagus, arba perrasyt interupa. Na gerai sitam daiktui kuris neturi jokios paskirties nera skirtumo tie delay. Bet bent man tai baisu ziuret kai interupte delay privaryta Smile


O negalėtum parašyt kodo, kaip tuos flagus naudot? Smile
 elementarus kodas
PranešimasParašytas: 2010 10 29, 11:10 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Vienos knopkes tikrinimas be kokiu delay, jei kodas labai letai veikia galima buttoncounteri pakeist i char tipa, arba nuresetint ne i 0, o kokia tarpine reiksme.
Kodas:
#include <avr/io.h>
#include <avr/interrupt.h>
unsigned char volatile Status = ButtonPressed;
#define Done 0x01
#define ButtonPressed 0x02
#define Button (!(PINA & (1<<PA0)))

int   main(void)
{
 unsigned int ButtonCounter = 0;
 sei();
 
for(;;){//Main event loop//

  if (Button & !(Status & ButtonPressed)){
   Status |= ButtonPressed;
   ButtonCounter = 0;
   DO SOMETHING();
  }   
  ButtonCounter++;
  if ((ButtonCounter == 0) & !Button)
   Status &= ~ButtonPressed;
  if (Status & Done){
    DO SOMETHING();
   Status &= ~Done;
  }
}
}

ISR(xxxxxx){
   Status |= Done;
}
 elementarus kodas
PranešimasParašytas: 2010 10 29, 15:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
centronic
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Kaip vienai knopkei gan sudėtinga, jei pas mane sakai daug delay tai cia daug if. Neaišku kiek tas debounce užtrunka laiko, parašius daugiau kodo, ar pakeitus uC clk dažnį kaskart perskaičiuot reikia ButtonCounter. Jei parašytum, kad led sumirksėtu tai dar kruvos kintamųjų ir if sąlygų reikėtu, o pas mane uztenka tik vienos delay funkcijos, o rezultatas tas pats.
Kaip sakant - genialu tai kas paprasta.

Jei labai baisus tas pertraukimas galima ir be jo

Kodas:

void main(void)
{
  unsigned char i;
  DDR  = (1 << LED | 0 << BT);
  PORT = (0 << LED | 1 << BT);
  TCCR1A = 0x00;
  TCCR1B = (1<<CS12 | 0<<CS11 | 1<<CS10); // presc 1024
  OCR1A = 19531; // 1024 * 19531 * (1/4MHz) = 5s
  while(1)
  {
    if(!bitas(PIN,BT))
    {
      delay_ms(10);
      count++;
      while(!bitas(PIN,BT));
      TCNT1 = 0;
      delay_ms(10);
      sbi(TIFR,OCF1A);
    }
    if(bitas(TIFR, OCF1A))
    {
      for(i=0; i<count; i++)
      {
        sbi(PORT,LED);
        delay_ms(250);
        cbi(PORT,LED);
        delay_ms(250);
      }
      count = 0;
    }   
  }
}
 elementarus kodas
PranešimasParašytas: 2010 10 29, 16:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Nu jo pora ifu skaitos daug Very Happy Siaip kol vien pas tave debounce padarys, tuos kelis ifus spes tukstancius kartu patikrint... Del daznio jokiu problemu, galima padaryt automatini perskaiciavima. Dabar isivaizduok kaip reiketu naudotis kokiu kompu kur paspaudi knopke ir visos programos sustoje kol neatleidi...
 elementarus kodas
PranešimasParašytas: 2010 10 29, 17:42 Pranešti apie taisyklių pažeidimą Atsakyti su citata
centronic
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
delay_ms(int debounce)
{
for(int i=0; i<debounce; i++)
{
//funkcijos kurias nori tikrinti debounce metu
}
}

be jokių if tas pats š... Smile

Beje parašyk prog. kompe su kokiu c++ builder, kad ciklas uztruktu iki kelių sek. kai paspaudi knopkę ir pamatysi kaip nebeveikia kitos knopkės ir lango nebegali pajudint kol nesibaigia ciklas Smile Aišku galima padaryt, kad veiktu normaliai, bet čia jau kita tema.
 elementarus kodas
PranešimasParašytas: 2010 10 29, 18:08 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Ne taps s... Dabar nuspaudus knopke tu vykdai tik tam tikras funkcijas, o mano atveju vykdomos visos funkcijos is eiles kol apsuka rata. Su Kompu tai davei atvirscia pavyzdi. Nesuprantu ko tu bijai tu ifu?
 elementarus kodas
PranešimasParašytas: 2010 10 30, 11:23 Pranešti apie taisyklių pažeidimą Atsakyti su citata
centronic
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
sneikaz rašo:
Su Kompu tai davei atvirscia pavyzdi


Pvz su kompu. Pajudink langą kol ciklas sukasi. Šiaip nereikia pradėt lygint kompo su kontroleriu.

Nieks tu if nebijo. Viskas priklauso nuo užduoties. Šitoj užduoty, kad pamirksint led viso to nereikia. Tai kam apsunkint sau gyvenimą.
Tavo pertraukimas kode netenka prasmės, nes įvykus pertraukimui pasikeis tik status reikšmė ir reiks laukt kol programa daeis iki if sąlygos kur patikrins status reikšmę ir tik tada įvykdys kodą kuris turėjo būti pertraukimo funkcijoj.
 elementarus kodas
PranešimasParašytas: 2010 10 30, 11:46 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
As su kompu daviau tik kaip pvz., pagal kuri veikia tavo programa. Paspaudi knope ir viskas sustoja, o ne paleidi su real time pririotetu ir viskas sustoja. Taip kol priais iki to status flago uztruks kelias ar keliaskedimt mikrosekundziu... Cia buvo tik pavyzdys, galima tam ISR ir kitus butinus veiksmus atlikt. Zinok pries 2-3 metus ir man tiko tie delay, dabar jau nebe...
Kazkaip nematau kurioj cia vietoj gyvenimas apsunkinamas. Del manes tai kas kaip norit taip darykit, tik nepatiko man tas apibudinimas "grazus kodas".
 elementarus kodas
PranešimasParašytas: 2010 10 30, 18:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Edzma
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Teskite mielieji, teskite...mes is to mokomes... Wink
 elementarus kodas
PranešimasParašytas: 2010 10 31, 16:17 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Saulius18
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
teisingai Razz
 elementarus kodas
PranešimasParašytas: 2010 10 31, 21:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Saulius18
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
na ka gi vienaip kitaip bandau ant attiny2313 neveikia (simuliuoju ant proteus isis) viskas gerai gaunas su atmega 16 atmega 8 atmega 32... o su attiny2313 kodel ? galit paaiskint ant attinio pakeiciau stai kaip:
Kodas:
#define PORT PORTB
#define PIN  PINB
#define DDR  DDRB
#define BT   0
#define LED  4
 elementarus kodas
PranešimasParašytas: 2010 11 01, 00:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Saulius18
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
o gal dar zinot kur rast pamokas o gal net visa koda attiny2313 mikrovaldikliui, su kurio galima butu i 16x1 lcd atvaizduot koki nors teksta?
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2
 
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

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

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
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.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
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama