Untitled

미리 정의 된 매크로와 데이터 타입이라는데, 매크로가 정확히 뭔지모르겠음. 데이터 타입은 int 나 char 같은 자료형을 사용할 수 있게 미리 정의를 해 두 었다는 것인지..?

데이터 타입들의 정의가 저장된 것이라고 볼 수 있으면 될 것 같고, 내가 직접 구조체 같은 것을 만들어서 새롭게 데이터 타입을 정의할 수도 있음.

#include “msp.h” 에 다가 오른쪽 마우스 우클릭하게 되면 open declaration 이라는 게 있는데 그걸 클릭하게 되면

Untitled

이런 화면이 나옴. 잉 화면을 스크롤을 내려 보면 어떤 헤더 파일을 include 하고 있는 걸 볼 수 있음. 이때 미리 정의된 자료형과 함께 매크로를 볼 수 있는 것이 “msp432p4111.h” 임. 이것도 마찬가지로 Open declaration 을 클릭해 보면

Untitled

이거를 보면은 왼쪽에는 홀수, 오른쪽에는 짝수가 잇는 것을 볼 수 있는데, 무엇에 대한 홀짝인지를 모르겠음.

아 알겠다. 포트는 지금 1 0번 포트서부터 11번 포트까지 있고 그 안에 있는 핀의 홀짝인 것 같은데..?

일단 uint8 이 의미하는 게 unsigned 8bit integer 인데 이거는 곧 양의 1바이트의 정수라는 거니까, char 을 의미하겠지.

아 아닌 것 같기도 하고, 지금 보니까, IN, OUT, REN, DIR 이런 것들을 정의하고 있는데, 그 왼쪽 오른쪽이 다 똑같거든? 근데 뭐만 다르냐면, 왼쪽거는 지금 보니까 RESERVED 어쩌구 써있는 거랑 자료형 써 있는거 (INT, OUT, DIR) 애네 둘이 순서만 바뀌었음. 근데 그게 홀짝이랑 무슨 상관인지 모르겠네.. 아 미친 이게 짝수면 010101 홀수면 10101010 아니야..? 그래서 그때 막 IN 에다가 0 줄 수도 1 줄수도 있다고 막 그랬잖아.

두 개가 같은 base 를 가지고 있고, 하나는 odd 다른 하나는 even 을 담당한다..?

Untitled

근데 여기서 중요한 건 사실 그게 아니라, __I 부분이랑, unit8_t 부분임.

__I 가 사실은 의미하는 게 volatile const 이기 때문..! 누군가 이거를 __I 라고 어떤 파일에 적어두었음.

또 다른 코드도 까 보면, uint8_t 는 원래 있었던 것이 아니라, typdef unsigned char unit8_t 라고 선언해두었기 때문에 쓸 수 있었다는 것을 알 수 있음.

Untitled

우리가 새로운 데이터 타입을 만들고 싶을 때는, typedef 명령어를 사용하면 됨. 예를 들어서

typdef <original data type> <new data type> 이런 식으로! 좀 더 구체적인 예제를 봐며느