전체 글89 Timer[4] Input capture ※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다. 오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.STM32 input captureMCU의 펄스 및 주어진 입력 신호의 주파수 및 펄스 폭등을 측정하고자 할 때 사용 CC1S 비트가 모두 0이면 output compare 기능이 동작(NOR gate)CC1S 비트가 하나라도 1 이면 Input capture 기능이 동작(OR gate)기본 타이머 설정1. 우선 CNT의 값을 결정하기 위해서는 우선 PSC(프리스케일)값을 정하고2. ARR(Auto-reload register)값으로 CNT의 증가 속도를 정해 줍니다. 여기까지는 기본 타이머 내용입니다.3. capture 모드로 사용할지 com.. 2024. 7. 14. while문 사용법 c언어 프로그래밍 책을 보면 while(1.조건식){ 2. 실행문} 실행 순서 1. ①조건식을 평가합니다. 평가 결과가 true이면 ②실행문을 실행합니다. 2. ②실행문이 모두 실행되면 다시 ①조건식으로 되돌아가서 다시 검사합니다. 3. 만약 ①조건식이 true라면 1,2번 순서를 다시 반복하고 아니면 while문을 종료합니다. stm32 소스를 보면 일반적으로 while (조건문); 쓰는 경우를 종종 볼수 있다. while (조건문)는 아래와 같다while (조건문) {} ex)while (!isLightGreen()); // isLightGreen() true를 반환할 때까지 기다린다.while(__HAL_TIM_GET_COUNTER(&htim1) // 10ms or 10us 때까지 기다린다. 2024. 7. 13. 포인터(5) - 다중 포인터(이중포인터 위주) ※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다. 오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.이중 포인터(더블 포인터)이중 포인터 : 포인터 변수를 가리키는 또 다른 포인터 변수 선언 방법 : 자료형 ** 이중포인터 변수명 예제1#include int main(){ double num = 3.14; double * ptr = # double **dptr = &ptr; double *ptr2; printf("%p %p\n", ptr, *dptr); printf("%f %f\n", num, **dptr); ptr2 = *dptr // ptr2 = ptr; *ptr2 = 10.99.. 2024. 7. 12. 포인터(4) - 함수 포인터 & 사용 예시 정리 해당 글은 개인 공부 정리를 위해 작성되었습니다.함수 포인터프로그램에서 정의된 함수는 프로그램이 실행될 때 모두 메인 메모리에 올라갑니다.배열명이 배열의 시작 주소값를 가리키는 포인터 상수를 의미하듯, 함수명은 함수가 정의되어 있는 메모리의 시작 위치를 가리키는 포인터 상수(constant pointer) 입니다.함수명은 포인터이므로 printf에서 출력해보면 메모리 주소(%p)가 출력된다 ※ 선언 방법 : 반환값자료형 (*함수포인터이름) (매개변수 자료형) #include int add(int a, int b){ return a + b; }int sub(int a, int b){ return a - b; }int mul(int a, int b){ return a * b; }int div(int a, .. 2024. 7. 12. 이전 1 ··· 7 8 9 10 11 12 13 ··· 23 다음