Отговори на тема  [ 21 мнения ]  Отиди на страница Предишна  1, 2
Помощ за програма за бутон 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Помощ за програма за бутон
Дали ще го пишеш на С, бейсик, паскал, фортран или квото ще да е - трябва да го напишеш така че да не губи време на процесора, и да работи стабилно. На всичките езици ще ти е еднакво трудно или еднакво лесно - зависи от задклавиатурното устройство.


Пон Мар 25, 2013 10:19 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Фев 05, 2013 10:41 pm
Мнения: 10
Мнение Re: Помощ за програма за бутон
По принцип това го правя с учебна цел и мога да го ръчкам докато стане стабилно или докато задклавиатурното устройство се научи. :D


Вто Мар 26, 2013 10:09 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Помощ за програма за бутон
bgeorgiev написа:
По принцип това го правя с учебна цел и мога да го ръчкам докато стане стабилно или докато задклавиатурното устройство се научи. :D

На учене отива. Доста теми е имало за четене на бутони, потърси и ако не се оправиш свиркай. Като цяло се ориентирай към ползване на таймер и прекъсвания.


Сря Мар 27, 2013 4:10 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: Помощ за програма за бутон
Прегледай следния код, и се постарай да разбереш как работи логически.
После ще ти дообясня:

Код:
if (LATB.B1 == 1)
      {
        if (pre_state == 1)
          {
            Get_System_Time(time_now);
            if (time_now >= (btn_first_push + DEBOUNCE_TIME))
              {
                BTN1_Pressed = true;
                pre_state = 0;
              }
          }
        else
          {
            Get_System_Time(btn_first_push);
            BTN1_Pressed = false;
          }
        pre_state = 1;
      }
    else
      {
        pre_state = 0;
        BTN1_Pressed = false;
      }
     
    if (BTN1_Pressed == true)
      {
        PORTC.B1 = 1;
      }


Засега бутонът ще генерира събитието BTN1_Pressed = true; през интервал DEBOUNCE_TIME,
но как да се избегне това по нататък....


Прикачени файлове:
btn.jpeg
btn.jpeg [ 28.16 KiB | Прегледано 961 пъти ]
Сря Мар 27, 2013 7:46 pm
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Фев 05, 2013 10:41 pm
Мнения: 10
Мнение Re: Помощ за програма за бутон
Благодаря за помоща, ще разгледам кода и ще го разгадавам!


Чет Мар 28, 2013 10:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: Помощ за програма за бутон
bgeorgiev написа:
Благодаря за помоща, ще разгледам кода и ще го разгадавам!


Абе аз в бързината малко съм го и посбъркал, LAT и PORT трябва да са разменени, има и още една грешка, ама може да пробваш да я намериш сам.


Пет Мар 29, 2013 12:14 pm
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 21 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни