Я пытаюсь выяснить некоторые вещи с помощью прошивки, написанной для нас. Я не так хорошо знаком с C, и я думаю, что здесь есть несколько сокращений, которые я просто не получаю. Я не понимаю, как код относится к комментариям, в частности, как вы получаете 70 мс от любого из них. Можете ли вы помочь перевести на английский язык?Помогите с расшифровкой стенограммы C
// so the button has to be held for 70 ms to be considered being pressed
// and then has to be released for 70ms to be considered un-pressed
State=(State<<1) | !input(USER_BUTTON) | 0xe000;
if(State==0xe000)
{
Debounced_Button_Pressed = TRUE;
time_button_held++;
}
else if (State==0xffff)
{
Debounced_Button_Pressed = FALSE;
}
Это в функции прерывания таймера и, видимо, срабатывает каждые 4.4ms
Благодарности.
информации на самом деле недостаточно, не зная, что изначально было изначально и что представляет 0xE000 (что, вероятно, является битовым полем реестра) – Earlz
Этот код был скопирован с http://www.ganssle.com/debouncing.pdf page 20 – Mark
@Mark - Я знал, что это было знакомо –