[ endre85 @ 10.05.2011. 03:30 ] @
Moj problem je sledeci: Na port1 mikrokontrolera AT89S8253 imam povezan citac smart kartica. Pinovi P1^0 i P1^1 sluze za detektovanje da li je kartica ubacena ili nije, medjutim ne mogu naterati ovu funkciju da proradi. P1^0 treba da je na visokom logickom nivou i da bude output a P1^1 input. U zavisnosti od njegovog stanja zna se da li ima ubacene smart kartice ili ne (0 kada je kartica ubacena, 1 kada nije). Ja sam to probao resiti tako sto u donjem kodu imam sledece kljucne linije koda: Code: Code: sbit HK_PrekidacPrisutnostiDavac = P1^0;//uvek 1 sbit HK_PrekidacPrisutnostiPrimac = P1^1;//proverava da li je HaloKartica prisutna. 0-prisutna, 1-nije prisutna(u slotu, nije ubacina,...) . . . HK_PrekidacPrisutnostiDavac=1; . . . if(HK_PrekidacPrisutnostiPrimac==0) { } else if(HK_PrekidacPrisutnostiPrimac==1) { } Medjutim meni ovo ne funkcionise, kao da pinovi ne uzimaju dodeljen vrednosti. A sad sam negde procitao da kad se pinu dodeli vrednost 1 onda se on ponasa kao input?! (http://www.keil.com/download/docs/84.asp) Da li trebam koristiti neku naredbu tipa tris? Svaka pomoc je dobrodosla. citac_main3_09_05_2011.c http://www.filefactory.com/fil...6fe/n/citac_main3_09_05_2011.c |