본문 바로가기

반응형

SWEET NEW

(352)
[Arduino] pulseIn() pulseIn() 함수는 펄스 신호(HIGH 또는 LOW)를 읽어 그 길이를 마이크로초 단위로 반환해 주는 함수이다. pulseIn(pin, value); pulseIn(pin, vlaue, timeout); 지정한 핀으로부터 value 펄스(HIGH 또는 LOW)를 읽어들인다. value가 HIGH 이면, 핀의 신호가 HIGH에서 LOW로 바뀔 때까지의 시간을 마이크로초(us)로 반환하지만 지정한 timeout 시간 이전에 펄스가 감지되지 않으면 0을 반환하게 된다. pulseIn() 함수는 마이크로초 단위이기 때문에 길이(cm)로 변환하기 위해서 아래와 같은 수식을 적용해 준다. // 거리 = 속도 × 시간 거리 계산하기 (340m/s) × pulseIn()ms × (1/2) = (340m/s) × ..
[C언어] 실습: '0' 입력할 때까지 정수를 입력받는 프로그램 구현하기 '0' 입력할 때까지 정수를 입력받는 프로그램 구현하기 (단, 배열의 크기는 5로 지정한다.) #include #include // malloc(), free() int main(){ int *p = (int*)malloc(5 * sizeof(int)); // '4byte(int) * 5'만큼의 공간을 할당한다. int num; // 입력받는 data값을 저장한다. int index = 0; for(int i = 0; i < 5; ++i){ printf("data : "); scanf("%d", &num); if(num == 0) break; // 'num'에 '0'이 입력되면 반복문을 종료한다. p[index++] = num; // p[index]에 num을 저장한다. } for(int i = 0; i..
[C언어] 열거형 (Enumeration) 열거형(Enumeration)은 데이터의 집합체이다. #include enum season{ SPRING = 1, SUMMER, FALL, WINTER}; // 입력한 정수(int)부터 차례로 값을 가지게 된다. // SPRING = 1, SUMMER = 2, FALL = 3, WINTER = 4 // 값을 주지 않으면, 0부터 시작한다. int main(){ int season_num; printf("좋아하는 계절에 해당하는 숫자 입력 : "); scanf("%d", &season_num); switch(season_num){ case SPRING: printf("봄\n"); break; case SUMMER: printf("여름\n"); break; case FALL: printf("가을\n"); b..
[C언어] 공용체 (Union) 공용체(Union)는 새로운 자료형을 선언한 뒤 해당 자료형에 멤버를 담아 사용하며, 보유한 멤버들 중 크기가 가장 큰 변수의 메모리 공간을 공유한다. #include struct student1{ // 구조체 선언 int id; double score; }; union student2{ // 공용체 선언 int id; double score; }; int main(){ struct student1 str_stu = {123, 89.5}; union student2 uni_stu = {456}; printf("구조체 크기 : %d, 유니온 크기 : %d\n\n", sizeof(str_stu), sizeof(uni_stu)); printf("구조체 id 주소 : %p, score 주소 : %p\n", &s..
[C언어] 실습: 헤더 파일 및 C 파일 만들기 헤더 파일 및 C 파일 만들기 1. main.c #include #include"point.h" #include"line.h" #include"rect.h" double distance(Line *pLine); double area(Rect *pRect); int main(){ Line l1 = {{10, 40}, {30, 20}}; Rect r1 = {{10, 40}, {30, 20}}; printf("point1 (%d, %d), point2 (%d, %d)\n", l1.start.x, l1.start.y, l1.end.x, l1.end.y); printf("직선의 길이 : %.2lf\n\n", distance(&l1)); printf("point1 (%d, %d), point2 (%d, %d)\n"..
[C언어] 실습: 배열에 저장된 정수의 합 출력하기 배열에 저장된 정수의 합 출력하기 #include void add(int *arr, int *sum); int main(){ int arr[5] = {1, 2, 3, 4, 5}; int sum = 0; add(arr, &sum); // arr[]는 배열이기 때문에 첫번째 element의 주소값을 가지고 있다. printf("합 : %d\n", sum); return 0; } void add(int *arr, int *sum){ for(int i = 0; i < 5; ++i){ *sum += arr[i]; } }
[C언어] time(NULL) time() 함수는 #include 헤더 파일에서 사용할 수 있다. time(NULL) 함수는 1970년 1월 1일 0시 0분 0초를 기점으로 현재 시간까지의 시간을 계산해 준다. (초 단위) #include time(NULL);
[C언어] 난수 생성 함수 난수는 특정한 의미를 지니고 있지 않는 임의의 숫자이다. 1. rand() #include 헤더 파일로 불러올 수 있으며, 난수를 생성할 때 사용한다. #include rand() // 난수 생성 함수 rand() % (b - a + 1); // a~b까지의 난수 생성 2. srand() #inlude 헤더 파일로 불러올 수 있으며, 시드 값을 변경하는 함수이다. #include srand(unsigned int); srand() 함수의 인자에 따라 rand() 함수를 이용해 생성한 난수 값이 변경된다. 즉 srand()의 인자가 a라면, rand() 함수로 생성한 난수는 b만 나온다.

반응형