![]() |
|
|||||||
| Компьютеры Уголок для решения бытовых компьютерных проблем. |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
#15 |
|
Но в таком виде код не пройдет компиляцию, ибо ошибок тьма.
И, если GetEncoder разовая функция, то ее нет смысла оформлять отдельной процедурой. В остальном направление мысли верно. Ну вот как-то так: #define com1 0b00001011 #define com2 0b00001010 #define com3 0b00001110 #define com4 0b00000000 #define com6 0b00001000 #define com7 0b00001001 char GetEncoder(void) { if (PORTB==com1) PORTD=0b00000001; else if PORTB==com2 PORTD=0b00000010; else if (PORTB==com3) PORTD=0b00000100; else if (PORTB==com4) PORTD=0b00001000; else if (PORTB==com6) PORTD=0b00100000; else if (PORTB==com7) PORTD=0b01000000; else return 2; return 0; } int main(void) // главная рутина { //.........какой-то код............ while (GetEncoder()==0) _delay_ms(100); //или //while (GetEncoder()>0) _delay_ms(100); //зависит от желаемого результата //.........какой-то код............ }
__________________
Последний раз редактировалось Said; 30.10.2013 в 17:21. |
|
|
|
|