硬件用树莓派,上层应用用QT
1,初始化 。设置为上拉输入
#define PHOTOGRAPH_PIN 12
wiringPiSetup();
pinMode(PHOTOGRAPH_PIN,INPUT);
pullUpDnControl(PHOTOGRAPH_PIN,PUD_UP);
2,线程中循环 检测按键信号。 检测到后 发送信号
QtConcurrent::run([&](){
while(isRuning){
int value = digitalRead(PHOTOGRAPH_PIN);
if(value==LOW){
std::this_thread::sleep_for(std::chrono::milliseconds(10));
int value2= digitalRead(PHOTOGRAPH_PIN);
if(value2==LOW){
emit photographClick();
LOGD("触发了按键");
}
}
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
});