C언어 6

250620 임베디드 - Cortex M 시리즈

과제리뷰잔상 문제 발생 우측데이터가 왼쪽으로 실시간으로 잔상을 남김 FND를 켜놓고 데이터를 바꾸어서 그럼 Decoder를 잠시 끄고 Write을 하게 함(대신 밝기가 살짝 어두워 짐) C언어는 위에서 아래로 실행이 되니깐. 동기 프로그래밍 예시 delay가 시스템 전체에 영향을 주는 현상, 예를 들면 FNDCOM을 delay를 줘서 키는데 data 증가시키는 속도도 이것의 영향을 받음 코딩을 할 때 비동기적으로 하는게 좋다 이것을 해결하기 위해서는 Interrupt 가 필요 SW를 하나의 객체라 생각 객체는 담당 업무만 잘함Display는 Display만, Button은 Button만 upcounter와 FND controller의 관계, caller와 calle의 관계(부르는 모듈, 불러지는 모..

C언어 2025.06.20

250616 - C언어 2일차 -

11장 문자아스키 코드 공백도 문자임 12장 문자열 %p : 주소 표현 text영역에 우리의 실행 코드들이 저장되어 있음 문자열은 주소 반환 ("apple"이라는 문자열은 주소를 반환함, 이 주소는 .text의 코드 영역에 저장되어 있음) 문자열은 주소임그럼 문자열에 ' * '이 붙으면 그 주소가 가리키는 값임따라서 *"apple" 출력하면 a,따라서 *"apple" + 1 출력하면 p가 출력 됨 "apple"[3] 주소인데 배열처럼 사용아래와 같은 원리 dessert는 포인터banana라고 하는 문자열은 메모리 어딘가에 저장되어있음(text영역에)그럼 그 주소를 받아서 그 주소를 출력 printf("내일 후식은 %s입니다", dessert);printf("내일 후식은 %s입니다", "banana")..

C언어 2025.06.17

250616 - C언어 2일차

9장 포인터'선언할 때' * 의 의미 : 주소가 담기는 변수 = pa는 주소를 담는다int a는 데이터를 담는 변수, int *pa는 주소를 담는 변수 함수가 있는데 매개변수가 주소인 함수 -> 매개변수에 주소를 줘야함 -> 매개변수가 그 주소를 받아서 대신한다.(Original 역할을 한다) 포인터 왜 써야 함?1. 메모리 매핑 : Peripheral에 접근하기 위해서, CPU는 Peripheral이 GPIO인지 TIMER인지 모르고 그냥 해당 주소에 WRITE하거나 READ하거나2. 함수에서 매개변수로 집어 넣을 때, 값을 복사하지 않고 실제의 값을 변경하고 싶을 때3. 영상볼 때(영상 pointer를 메모리 증가하면서 계속 찍어내는 것) 예제 a : 일반 변수, 값을 저장하는 메모리 공간*pa :..

C언어 2025.06.17

250616 - C언어 1일차 - 2

연산자 우선순위와 연산 방향단항연산자가 이항 연산자보다 우선순위가 높다 산술> 관계 > 논리 연산자 순서로 우선 순위가 높다. 헷갈리면 소괄호 '()'이용해서 우선 순위 정해주자 이렇게 가독성을 높이면 읽기 쉬운코드가 되며 좋은 코드가 됨5장 선택문if문 if~else if ~else문 if문 중첩... switch ~ case문조건식 값이 상수로 나와야 하고 이 상수를 case문에서 찾는 것임 6장 반복문while문 for문do ~while문 break 분기문반복문 블록 전체를 벗어남 continue 분기문다음 line을 실행하지 않고 처음으로 돌아간다.반복문의 일부를 건너뛴다. 무한반복문while(1), for(;;)7장 함수 메모리로 생각해보기 int result 실행 후 메모리 (int..

C언어 2025.06.16

250616 - C언어 1일차 - 1

2장 상수와 데이터 출력 %f : 기본적으로 소수점 아래 6자리까지만 출력 , float에 사용%.8f : 소수점 아래 8자리까지 출력 %lf : %f와 기능은 같지만 용량이 다름, double에 사용 음수는 2의 보수로 표현음수는 절댓값을 2의 보수로 바꾸어 변환(음수 -2의 예)8bit 표현 1. 2표현 2b0000 00102. 1의 보수 2b1111 11013. 2의 보수 1의 보수 + 1 2b1111 1110 = -2ex) 3-2 = 3+(-2) 2b0000 0011+ 2b1111 1110---------------------- 2b0000 00013장 변수와 데이터 입력l value : left valuer value : right value매우 매우 ..

C언어 2025.06.16