[an error occurred while processing this directive]
|
#define DIP1_IN_REG PINC
#define DIP2_IN_REG PINC
#define DIP3_IN_REG PINC
#define DIP4_IN_REG PINC#define DIP1 PC0
#define DIP2 PC1
#define DIP3 PC2
#define DIP4 PC3#define DIPx_PORT PORTC
#define DIPx_DIR DDRCtypedef unsigned char u8;
#include
//функция обработки кнопки №1
void press_btn1 (void)
{
}void main (void)
{
u8 buf_key[4] = { 255, 255, 255, 255};
DIPx_DIR &= ~((1 < < DIP1) | (1 < < DIP2) | (1 < < DIP3) | (1 < < DIP4)); //На вход
DIPx_PORT |= (1 < < DIP1) | (1 < < DIP2) | (1 < < DIP3) | (1 < < DIP4); //Подтяжка к +5 для кнопок
while (1)
{
buf_key[0] < <= 1;
if (DIP1_IN_REG & (1 < < DIP1))
buf_key[0] |= 1; //Если кнопка не нажата
else
buf_key[0] &= ~1; //Если кнопка нажата
if (~buf_key[0]) press_btn1(); //Если байт = '0' значит кнопка нажата и дребезг прошёл, вызов функции обработки кнопки №1
}
}