Всем привет! Вот тут хорошая статья о том, как сделать сенсорную кнопку (http://chipenable.ru...aya-knopka.html)
Это я сделал и даже собрал в реале.
Но одной кнопкой я не ограничился.
Написал такой код:
Одна кнопка работает, вторая нет.
Там какая-то переменная sensor_t
Я так понял она хранит настройки об одной кнопки, как можно переделать, что бы можно было работать с 12 кнопками? (циферблат)
Раздел: AVR
Это я сделал и даже собрал в реале.
Но одной кнопкой я не ограничился.
Написал такой код:
#include <avr/io.h>
#include "sensor.h"
#include <util/delay.h>
#define F_CPU 8000000
volatile uint8_t tim_flag = 0;
uint8_t count1 = 0;
sensor_t sensor1;
sensor_t sensor2;
int main(void)
{
DDRB = (1<<3);
PORTB = (0<<3);
SENS_Init(&sensor1, 0, &PORTB, 40);
SENS_Init(&sensor2, 4, &PORTB, 40);
while(1){
SENS_Poll(&sensor1);
if (SENS_GetState(&sensor1) == SENS_PRESSED) {
PORTB |= (1 << PB3); // зажигаем светодиод
_delay_ms(200); // задержка 200мс
PORTB &= ~(1 << PB3); // гасим светодиод
}
else {
PORTB &= ~(1 << PB3); // гасим светодиод
}
SENS_Poll(&sensor2);
if (SENS_GetState(&sensor2) == SENS_PRESSED) {
PORTB |= (1 << PB3); // зажигаем светодиод
_delay_ms(200); // задержка 200мс
PORTB &= ~(1 << PB3); // гасим светодиод
}
else {
PORTB &= ~(1 << PB3); // гасим светодиод
}
}
return 0;
}
Одна кнопка работает, вторая нет.
Там какая-то переменная sensor_t
Я так понял она хранит настройки об одной кнопки, как можно переделать, что бы можно было работать с 12 кнопками? (циферблат)
Раздел: AVR