اطلاعیه

Collapse
No announcement yet.

یه مشکل با AVR

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یه مشکل با AVR

    سلام من یه برنامه نوشتم تو مایه های پسورد 4 تا عدد رو باید وارد کنی اونم پشت سر هم (با یه delay) و ادامه ماجرا . ولی مشکلی که هست اینه که بعضی عددارو که میزنی مثل 7777 عدد خروجی میشه 7767 ولی مثلا 4506 درسته چراااا؟ :cry: :cry2:
    keypad(); //function
    //INSERT NUMBER
    void insert (void){
    char i;char index;char pass;
    PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.4=0;PORTB.5=0; PORTB.6=1;
    for(i=0;i<3;i++){
    keypad();
    tmp[index]=get_lable[(keypad())];
    PORTB.3=1;delay_ms(50);PORTB.3=0;
    index++;
    delay_ms(200);
    }
    (char *tmp,str;char index)
    دوستان! مدتی کمتر به سایت میام ..

    #2
    پاسخ : یه مشکل با AVR

    سلام
    دوست عزیز برای این کار اول یه تابع بنویس تا اعداد کی بورد رو از پورت مورد نظر بگیره
    برای کار با کیبورد بهتره تابع اون رو توی یه روتین وقفه قرار بدی و از نظر سخت افزاری با وقفه کی بورد رو اسکن بکنی

    بعد اگه قبلا بصورت ماکرو پسورد رو توی برنامه تعریف کردی که اونم یه آرایه است
    باید یه روتین مقایسه هم بنویسی که وقتی تعداد عددهای وارد شده مساوی طول پسورت شد تابع اجرا بشه و نتیجه مقایسه رو روی ال سی دی نمایش بده
    البته این مرحله باید دیگه وقفه مربوط به کی بورد رو غیر فعال بکنی

    موفق باشی

    دیدگاه

    لطفا صبر کنید...
    X