본문 바로가기

RaspberryPi

[raspberry pi] 3. C 명령어로 입출력 제어하기

#정리

#01 LED - 출력 제어

#빌드 옵션 "-l wiringPiSetup()" 추가 

#include <wiringPi> 선언 필요

#define LEDr 7 : 핀번호 할당

#입출력 제어 코드

 - if(wiringPiSetup()==-1) return -1; // 예외처리

 -  pinMode(LEDr,OUTPUT); // 출력모드 변경

 -  digitalWrite(LEDr,1);  // LED ON

 

 

#02 BUTTON - 입력 제어

#빌드 옵션 "-l wiringPiSetup()" 추가 

#include <wiringPi> 선언 필요

#define BUTTON 3 : 핀번호 할당

#입출력 제어 코드

 - if(wiringPiSetup()==-1) return -1; // 예외처리

 - pinMode(BUTTON,INPUT); // 입력모드 변경

 - digitalWrite(BUTTON);  // BUTTON status read

 

 

 

 

#01 LED - 출력 제어

#빌드 옵션 "-l wiringPiSetup()" 추가 

#include <wiringPi> 선언 필요

#define LEDr 7 : 핀번호 할당

#입출력 제어 코드

 - if(wiringPiSetup()==-1) return -1; // 예외처리

 -  pinMode(LEDr,OUTPUT); // 출력모드 변경

 -  digitalWrite(LEDr,1);  // LED ON

 

 

 

 

#02 BUTTON - 입력 제어

#빌드 옵션 "-l wiringPiSetup()" 추가 

#include <wiringPi> 선언 필요

#define BUTTON 3 : 핀번호 할당

#입출력 제어 코드

 - if(wiringPiSetup()==-1) return -1; // 예외처리

 - pinMode(BUTTON,INPUT); // 입력모드 변경

 - digitalWrite(BUTTON);  // BUTTON status read

 

 

 

 

#03 LED_BUTTON - 입/출력 제어(mission)

 

--예문 코드 보기--

더보기
#include <stdio.h>
#include <wiringPi.h>

#define BUTTON 3
#define LEDr 7
#define LEDy 0

int main(int argc, char **argv)
{
	//예외 처리
	printf("wiringPiSetup(): %d\n",wiringPiSetup());
	if(wiringPiSetup()==-1) return 1;
	
	//핀 입출력 설정
	pinMode(LEDr,OUTPUT); 
	pinMode(LEDy,OUTPUT);
	pinMode(BUTTON,INPUT);
	
	//핀 입력 확인 및 출력 피드백
	int status=0;
	int toggle=0;
	
	while(1){
		status = digitalRead(BUTTON);
		printf("status: %d\n",status);
		
		if(status == 1){
			digitalWrite(LEDr,1);
			digitalWrite(LEDy,1);
		}else{
			digitalWrite(LEDr,0);
			digitalWrite(LEDy,0);
		}
		
		delay(500);
	}

	return 0;
}