printf("ho_tari\n");

SWITCH_LED_INTERRUPT 본문

Raspberry Pi

SWITCH_LED_INTERRUPT

호타리 2023. 10. 5. 15:20

<main.c>

#include <wiringPi.h>
#include <stdio.h>

#define LED_1 23

#define SW_1 4

int LED1_flag = 0;
int SW1_flag = 0;

void sw_interrupt()
{
    if (LED1_flag == 0)
    {
        digitalWrite(LED_1, HIGH);
        LED1_flag = 1;
    }
    else
    {
        digitalWrite(LED_1, LOW);
        LED1_flag = 0;
    }

    SW1_flag = 1;
}

int main(void)
{
    if (wiringPiSetupGpio() == -1) return -1;   // BCM

    pinMode(LED_1, OUTPUT);
    pinMode(SW_1, INPUT);
    digitalWrite(LED_1, LOW);

    wiringPiISR(SW_1, INT_EDGE_RISING, &sw_interrupt);

    while(1)
    {
        if (SW1_flag == 1)
        {
            printf("SW1 pushed..!!!\n");
            SW1_flag = 0;
        }
    }

    return 0;
}

 

<compile 결과>

'Raspberry Pi' 카테고리의 다른 글

Thread2  (0) 2023.10.06
Thread1  (0) 2023.10.05
LED_ON_OFF  (0) 2023.10.05
카카오톡으로 일기예보 메세지 보내기 (python)  (0) 2023.09.22
카카오톡으로 주식 시세 메세지 보내기 (python)  (0) 2023.09.22