임베디드33 [오제이 튜브의 임베디드 강의] 11강. 데이터 시트 보는 꼼수 1. 데이터 시트 보는 요령목적을 세워라 : 내가 해야되는 정확한 목표를 세우고 그 목표에 맞는 지식을 습득한다장치들의 개념을 이해하자 : 데이터 시트 없이 이게 뭐하는 장치인지 대충 파악해보고 상상해본다DESCRIPTION을 읽어본다 => 개념을 이해할 때, 내가 깊게 알 필요가 있는 영역인가?/ 스킵해도 될까? AND HW/SW영역인가?를 CHK 그림을 그려가자 : 내 목적을 이루기 위해 그림을 하나씩 그려가고, 모든 연결고리가 이어지도록 => 이때, 이해되지 않는 연결 고리가 있다면 그 부분을 연구하자 데이터 시트만이 답은 아니다.- 소스 코드 구해서 보는 방법- 회로도로 보는 방법- HW 담당자에게 물어보는 방법 2. 오늘의 목표 (SW 개발자 입장에서) : LED Display Driver .. 2025. 1. 13. [오제이 튜브의 임베디드 강의] 10강. 회로도 딱 필요한 만큼만 배우자 1. 회로도: 전류가 어떻게 흐를지 약속된 기호로 그려진 전기 회로 (단, 회로도가 실제 보이는 모양을 나타내지는 않음): 기본적으로 전원이 있으면 그라운드로 흐르게 되어 있음 1-1. 임베디드 SW 개발자는 회로도 어느정도 알면 될까?회로도를 보고 내가 제어할 부품이 무엇인지, 어떻게 제어해야할지 알면 된다회로도 상의 부품을 실제 보드에서 찾을 수 있어야함어디가 전원이고 어디가 그라운드인지 찾을 수 있어야함하드웨어 디버깅시, 어디에 멀티미터기를 연결하고 오실로 스코프를 연결해야될지 알아야함: 어떤 값이 나와야 정상인지 알아야함: 원인까지 알면 좋으나 , 문제가 있다까지는 알아야함 ex) 현재 이 보드에 정확히 3.3V가 인가되고 있는지 chk쇼트 테스트는 색깔 상관없이 갖다 대보기만 하면되지만, 전압.. 2025. 1. 9. [오제이 튜브의 임베디드 강의] 9강. 지금까지 배운 것을 큰 그림에 저장하기 1. 지금까지 한 것GPIO 제어 소스 분석 후 데이터시트와 대조하는 형식 (원래대로라면 데이터시트 먼저 보고 소스 구현하는 게 정석)2. GPIO 제어 과정: Power On -> Startup Code -> main() 2-1. Power On란?: 우리가 사용하는 보드는 동작 전원이 3V(개발 보드 회로도 보면 동작 전압 3.3V로 명시, 데이터 시트에선 더 정확히 2.0V~3.6V로 동작함을 명시): 따라서 우리집에 220V AC(교류)로 들어오면 3.3V로 보드에 맞게끔 바꿔줘야함: BUT, 3.3V 어댑터가 별로 없기에 Power Supply통해 5V를 받아서 결국 3.3V로 나오게 하여 이 3.3V를 통해 MCU에 공급 2-2. Power On - Startup Code - main() 과정.. 2025. 1. 9. [오제이 튜브의 임베디드 강의] 8강. GPIO제어 고아먹기 1. MX_GPIO_Init();=> 7강 글에 나와있듯이 MX_GPIO_Init();에서 핵심 함수는 _HAL_RCC_GPIOC_CLK_ENABLE();이었고=> 또 이 함수에서의 핵심 함수는 SET_BIT(RCC->APB2EENR, RCC_APB2ENR_IOPCEN);이었고=> 또 이 함수의 실제 연산은 SET_BIT(REG,BIT) ((REG) |= (BIT))였기에 => 결론적으로 *(0x40021018) |= 16과 같았다. => 따라서 아래 오른쪽 사진과 같이 volatile unsigned int * reg = 0x40021018; *reg |= 16;과 작성했다. 2. MX_GPIO_Init(); 내부에 있는 다른 코드를 분석해보자: 현재 __HAL_RCC_GPIOC_CLK_ENABLE(.. 2025. 1. 7. [오제이 튜브의 임베디드 강의] 7강. GPIO제어 부셔먹기 1. GPIO 옵션 설정의 의미1-1. GPIO OutputGPIO output level : GPIO를 3.3V/0V로 높여서/낮춰서 출력을 할 것인지 => enum이므로 1씩 증가하기에 GPIO_PIN_RESET = 0, GPIO_PIN_SET = 1=> 'High로 설정' = '내 기계가 동작할 때 3.3V로 나오는 게 최초 동작해야 할 동작이다' GPIO mode(1) Output Push Pull: Push Pull 구성 회로도 방식이 BJT/ MOSFET 존재: 전류는 항상 높은 전압 -> 낮은 전압으로 흐른다 (만약 기준점이 1V라면 +3.3V이 아닌 +2.3V가 된다)① GPIO High (3.3v): sw1이 닫히면 sw2는 열려있으므로 output에 3.3v가 나감 : " 3.3V가 있.. 2025. 1. 6. [오제이 튜브의 임베디드 강의] 6강. 혼자서 임베디드 고수 되는 방법 0. main 함수 int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ //HAL_Init(); 기존 코드 /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit .. 2025. 1. 6. 이전 1 2 3 4 5 6 다음