Zákmit tlačítka : v céčku OK v bascomu KO – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zákmit tlačítka : v céčku OK v bascomu KO – Mikrokontroléry – Fórum – Programujte.comZákmit tlačítka : v céčku OK v bascomu KO – Mikrokontroléry – Fórum – Programujte.com

 

petrsvetr
~ Anonymní uživatel
5 příspěvků
7. 12. 2008   #1
-
0
-

Dobrý den přátelé, prosím Vás o pomoc:

Když má program v céčku:

void main (void)
{

PORTC=0x01;
DDRC=0x01;
PORTD=0x40;
DDRD=0x00;

while (1)
{
if ((PIND & 0x40) == 0)
PORTC |= 0x01;
else PORTC &=0xFE;
};
}


vše funguje správně, tlačítko a obvod zkrátka eliminuje zákmity tlačítka...
Pokud stisknu, dioda svítí, pokud sundám prst sz tlačítka, dioda nesvítí...

a
v bascomu:


$regfile = "m8def.dat"
' $crystal = 8000000

Config Portc = Output
Config Portd = Input

Tlacitko Alias Pind.6

Do


If Tlacitko = 0 Then
Waitms 300
Portc.1 = 1
Portc.0 = 1
Else
Portc.1 = 0
Portc.0 = 0 ' prodleva 500 msec
End If

Waitms 100
Loop
End


v tomto programu jsou jasně znatelné zákmity tlačítka...nechápu, v céčku vše funguje v pohodě, v bascomu vůbec....
nevím si rady, jak to v bascomu vyřešit, prosím Vás o pomoc....

Může být problém v tom, že v zapojení obvodu nepoužívám krystal? Dělám na ATmega8 ... že by v tomto bascom a céčko byly jiné?

Prosím Vás o radu

Nahlásit jako SPAM
IP: 77.48.5.–
KIIV
~ Moderátor
+43
God of flame
7. 12. 2008   #2
-
0
-

To petrsvetr : a kde mas v tom C tu eliminaci zakmitu? ja bych schvalne zkusil pri stisknuti tlacitka ten vystup prepnout na druhou uroven... jednou stisk rosviti a druhej zhasne a takhle dokola... pak teprve uvidis jak moc dobre se zbavuje kod tech zakmitu...
nebo jeste lepe pripocitavat 1 a zobrazovat celej byte... pak je jeste mnohem lepe poznat jestli je nebo neni zakmit...
kazdopadne v tom kodu v C nic takovyho jako odstraneni zakmitu vubec nevidim

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
7. 12. 2008   #3
-
0
-

V tom C právě není žádná eliminace zákmitu...
a přesto se LED rozsvítí pouze pokud zmáčku tlačítko a zhasne, pokud pustím tlačítko.....

a v tom bascomu se úplně jasně projevuje zákmit tlačítka..

právě to nechápu...
že u každého jazyka se to chová jinak, to by přece nemělo mít vůbec vliv...programové prostředí....

A musím mít zapnutý v obvodu krystal? Dělám vše bez něj, je to tak taky možné provádět, testovat a zapojovat?Bez krystalu?
Nemá krystal na zákmit vliv?

Děkuji KIIV

Nahlásit jako SPAM
IP: 77.48.5.–
KIIV
~ Moderátor
+43
God of flame
7. 12. 2008   #4
-
0
-

To Anonymní uživatel : neni potreba obvod krystalu

neprojevuje se to protoze to jen nestiha oko videt... kdyz bys ty stisky pocital hned bys videl jak jeden stisk udela desitku pripocteni ...

jeden ze zpusobu eliminace je ze kdyz zjistis stisk tlacitka tak pockas aspon 10ms a pak otestujes zda je jeste stale stisknute
a pokud je tak teprve neco udelas...

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Johanka z Jarku
~ Anonymní uživatel
48 příspěvků
7. 12. 2008   #5
-
0
-

Zakmitom myslis ze ti blika LED-ka ?

Nahlásit jako SPAM
IP: 89.173.69.–
KIIV
~ Moderátor
+43
God of flame
7. 12. 2008   #6
-
0
-

jinak ty dva programy nejsou ani trochu ekvivalentni... v tom druhym mas i nejaky zpozdeni... v prvnim jedes tak rychle jak to jde...

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
petrsvetr
~ Anonymní uživatel
5 příspěvků
8. 12. 2008   #7
-
0
-

Ano, zákmitem myslím to, že mi bliká ledka.... i když nezmáčknu tlačítko....

A co myslíte s tím krystalem....můžu testovat a zapojovat čip bez něj?

Nezpůsobuje tyto chyby krystal...respektive to, že ho nepoužívám?

Nahlásit jako SPAM
IP: 77.48.5.–
petrsvetr
~ Anonymní uživatel
5 příspěvků
8. 12. 2008   #8
-
0
-

Tak mám tento program: když ho zkusím v simulátoru, vše krásně funguje, jakmile ho nahraju do čipu, LEDKY blikají jak pomatené.... prosím POMOOOOOC


$regfile = "m8def.dat"

Config Portc = Output
Config Portd = Input

Tlacitko Alias Pind.6


Do
If Tlacitko = 0 Then
Waitms 10
If Tlacitko = 0 Then Gosub Navesti3

Else
Portc.1 = 0
Portc.0 = 0
End If
Loop

Navesti3:
Portc.1 = 1
Portc.0 = 1
Return

Nahlásit jako SPAM
IP: 77.48.5.–
Johanka z Jarku
~ Anonymní uživatel
48 příspěvků
8. 12. 2008   #9
-
0
-

Niesom si isty na 100% , ale myslim ze ten program sa ti stale resetuje, t.j. ze skonci a zacne od zaciatku, a ty pridelusej zasa stavy na piny, takze vlastne ti ledska stale blika, skus pozret ten kod, alebo ho prerobit

Nahlásit jako SPAM
IP: 89.173.69.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
9. 12. 2008   #10
-
0
-


Na pinu s tlačítkem musí být pull-up:

Config Portc = Output

Config Portd = Input
Portd.6=1
Tlacitko Alias Pind.6

Nahlásit jako SPAM
IP: 217.115.249.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Projekty v cecku — založil jaelisa

Cyklus v Cécku — založil DaN

Nový web o Céčku — založil Tomáš

Nový web o Céčku — založil Elver

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý