2016-11-15 2 views
0

Мне нужно сделать кое-что из «включено-выключено» с моим проектом. , когда кнопка не нажата, то он должен напечататьРаспечатайте данные только один раз

остановил

при нажатии

начал

проблема, когда им не прессово, он держите printin 'остановленным', таким же, когда я продолжаю нажимать кнопку. Я хочу, чтобы он только печатал данные один раз. более подробно, что мне нужно, кнопка удерживает пребывание в положении «НАЧАЛО», пока я не нажму его снова.

вот мой код

{ 
    int main (void) 
    int TestM4; 

    while(1) 
    { 
    if (!(PORTJ_IN&PIN1_bm)) //test m4 
    { 
     testM4 = 1; 
     printf("%d\n", testM4); 
    } 
    else 
    { 
     testM4 = 0; 
     printf("%d\n", testM4); 
    } 
+2

'В то время как (1)' без 'break'! –

+0

Четко напишите, что такое значение «PORTJ_IN» и «PIN1_bm», когда (1) кнопка уже включена (2) Кнопка уже выключена (3) Когда вы нажмете кнопку и измените состояние с ON на OFF (4) Когда вы нажатие кнопки и изменение состояния с OFF на ON. – MayurK

ответ

0
while(1) 

Это запускает цикл, непрерывно.

Таким образом, он проверяет кнопки, распечатывает инструкции и сразу же возвращается обратно, чтобы проверить их снова.

Чтобы запустить его только один раз, полностью удалите цикл while, но программа скоро закончится довольно быстро.

Возможно, посмотрите на ways to pause the program.

0

Я не знаю всего кода, поэтому while(1) может быть хорошим или плохим кодом, но вы можете проверить его как флаг, чтобы изменить его и распечатать только один раз.

while(1) 
{ 
    if (!(PORTJ_IN&PIN1_bm)) //test m4 
    { 
     if(testM4 != 1) // status as button up 
     { 
      testM4 = 1; 
      printf("%d\n", testM4); 
     } 
    } 
    else 
    { 
     if(testM4 != 0) 
     { 
      testM4 = 0; 
      printf("%d\n", testM4); 
     } 
    } 
} 
+0

им жаль сэр, его не нравится то, что я хочу. ive попробовал. но то, что я хотел сделать, больше похоже на то, что если я нажму кнопку, то отпустите его (потому что кнопка не может быть заблокирована, я не знаю, какой тип кнопки), ее «ON», когда я снова нажму на нее, –

Смежные вопросы