본문 바로가기

전체 글

(32)
Byte order 컴퓨터 메모리에 데이터가 저장될 때 어떻게 저장될까? Byte order는 쉽게 데이터를 저장할 때 낮은주소부터 또는 높은주소부터 저장하는 방식을 말하는데, 크게 리틀엔디안과 빅엔디안 방식이 있다. 한 번 알아보자. 리틀 엔디안 예전에 16진수 두 자리(0x00~0xFF)가 왜 1Byte인지 몰랐는데 나처럼 헷갈리는 사람이 있을 것 같아 먼저 설명하겠다. 2진수 4자리로 표현할 수 있는 개수는 2의 4승이므로 총 16개다. 2진수 한 자리당 1bit이므로, 0000~1111은 16가지를 표현할 수 있다는 뜻이다. 16진수 1자리로 표현 할 수 있는 개수는 16개다. 즉, 16진수 1자리(0x0 ~ 0xF)는 4bits라는 뜻이므로 16진수 2자리(0x00~0xFF)는 1byte이다. 이걸 설명한 이유는 ..
함수 포인터 함수포인터란? 함수를 저장하는 포인터, 함수 포인터를 주고받거나 함수 포인터로 함수를 호출할 수 있다. 용도 1. 함수를 배열이나 구조체에 넣을 수 있다. 2. 함수자체를 함수의 매개 변수로 넘겨주고, 반환 값으로 가져올 수 있다. 저장될 함수의 반환 값 자료형 (*함수포인터이름)(매개변수); 함수이름은 함수의 메모리 주소이므로 함수 포인터에 저장할려면 함수 포인터 이름 = 저장할 함수 이름 수포인터란? 함수를 저장하는 포인터, 함수 포인터를 주고받거나 함수 포인터로 함수를 호출할 수 있다. 용도 1. 함수를 배열이나 구조체에 넣을 수 있다. 2. 함수자체를 함수의 매개 변수로 넘겨주고, 반환 값으로 가져올 수 있다. 함수 포인터를 응용하면 함수를 고정된 형태가 아닌 데이터 형태로 취급할 수 있습니다. ..
Cube MX란? Cube MX는 ST사의 MCU를 GUI를 통해 타이머, 통신(Uart, I2C, SPI), 인터럽트, DMA, GPIO 등의 기본적인 설정을 하면 자동으로 코드를 생성해주는 툴이다. 그 외에도 MCU의 핀 배열이나 동작 클럭을 확인할 수 있다.