Study_Embedded (17) 썸네일형 리스트형 [오제이 튜브의 임베디드 실전 강의] 7강 GPIO제어 고아 먹기 - GPIO 수동 제어 2 지난 시간에 공부했던 MX_GPIO_Init( ) 중 static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, GPIO_PIN_SET); /*Configure GPIO pin : GPIO_LED_Pin */// 이부분 공부 GPIO_InitStruct.Pin = GPIO_LED_Pin; GP.. [오제이 튜브의 임베디드 실전 강의] 6강 GPIO제어 뿌셔 먹기 0. Cube IDE의 IOC 화면에서 각 GPIO 설정값들의 의미 1) GPIO output level (High / Low) 최초 동작시의 GPIO Output값 설정High 설정 시 Low 설정 시 GPIO_PIN_RESET = 0GPIO_PIN_SET = 1 2) GPIO mode (Output Push Pull / Output Open Drain) 회로의 방식을 설정Push Pull : MCU에서 제공하는 3.3V를 통해 장치를 제어함 Open Drain : 단순히 Ground를 열고 닫음 A. Push - PullPush - Pull 방식의 기본적인 회로도 sw1이 연결되면 3.3V가 연결되며 Output에 High가 출력 sw2가 연결되면 Ground(0V)가 연결되어 Low가 출력 (어떠한.. [오제이 튜브의 임베디드 실전 강의] 5강 혼자서 임베디드 고수 되는 법 1. 강의 목표WritePin부분을 HAL Driver를 사용하지 않고 순수 코딩만으로 만들어보기 HAL Driver의 코드를 분석하고 Datasheet를 보며 필요한 것들만 뽑아 코드를 만들 것MX_GPIO_Init();HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, 0);위 두개의 코드 분석Data Sheet를 보며 해당하는 주소값을 보며 코딩을 해야 함Embedded Programming은 Source Code는 몇 줄 안되나 이해하고 코드로 표현을 하기까지 수많은 공부가 필요회로, 컴퓨터 등의 알아야 할 배경 지식이 너무 많음코드를 분석하기 쉬운 방법소스가 어떤 환경에서 작동하는지 이해 후 환경 구성Breakpoint를 찍어가며 Debugging 진행 .. [오제이 튜브의 임베디드 실전 강의] 3-1강 개발 환경 구축하기, 4강 Hello!! GPIO!! 1. 개발 환경 구축1.1. 개발 환경 구축이란- 개발을 할 수 있는 환경을 구축하는 준비과정보통 컴파일 + "Hello World"가 출력되는 상황 + 디버깅이 되는 상황을 환경구축이 완료되었다고 한다임베디드 분야는 환경 구축이 유난히 어려움임베디드 계열의 "Hello World" 는 GPIO 제어 : 이번 강의의 목적 1.2. IDE란- IDE (Integrated Development Environment) : 통합 개발 환경을 의미Coding, Debugging, Compile, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리할 수 있는 환경을 제공하는 SoftwareEx) Visual Studio, JupyterIDE = Source code editor + Compi.. [오제이 튜브의 임베디드 실전 강의] 3강 전기 기본 상식 - 모르면 보드 태워먹는다 0. Embedded Software 개발에 전기 기본 상식을 알아야 하는 이유1) DC 뿐만 아니라 매우 위험함 고압의 AC 전류가 흐르는 환경에서 작업을 할 수 있음DC (Direct Current) : 직류라는 뜻으로, (+)극, (-)극이 정해져 있으며 전류의 방향이 바뀌지 않는 전원저압이라 크게 위험하지 않음배터리에서 사용AC (Alternating Currnet) : 교류라는 뜻으로, 시간에 따라 크기와 극성(방향)이 주기적으로 변하는 전류1초 사이에 전류의 극성이 변하는 횟수를 Frequency(주파수) [Hz]라고 한다.가정에서 사용AC 값은 최고점과 최저점 간의 차이 값을 의미고압이라 잘못하면 사망으로 이어질 수도 있음 또한 전류의 방향이 계속 바뀌므로 몸이 전기가 흐르는 물체에 달라 붙.. [오제이 튜브의 임베디드 실전 강의] 2강 실무자는 어떻게 칩을 고르나요? 0. 큰 그림을 반드시 그려야 하는 이유큰 그림 : 나만의 개념을 잡고 그 개념들이 조각조각 분산되어 있는 것이 아니라 서로 연결되어 있는 것을 의미큰 그림을 그릴 줄 알면 다양한 문제점을 만나더라도 쉽게 해결을 할 수 있음Ex 1) NPM, PIP, Apt-get, 마켓 플레이스모두 어떤 프로그램을 저장소에서 다운받을 수 있는 기능 -> 이 개념을 잡고 있으면 다양한 것을 해결할 수 있음저장소와 관련된 문제 파악 및 해결 가능무엇을 배우던 간에 큰 그림을 그려야 함 위와 같은 큰 그림을 머리 속에 하나씩 그려가야 함문제를 만날 때 마다 해결하기가 쉬워짐 - Ex 2) Visual Studio Code와 Visual Studio의 차이점둘 모두 개발 Tool개발 Tool : 메모장 + Compiler .. [오제이 튜브의 임베디드 실전 강의] 1강 임베디드가 뭔가요? 1. 강의 진행 방향유튜브에서 무료로 진행. 희망 시 강의료 자율 납부 가능한번에 최대 1시간 정도 진행내용이 남으면 다음 시간에 진행 2. 큰 그림 그리기- 큰 그림을 그려야 하는 이유개발자는 모든 영역을 다 공부할 순 없어 자기만의 개발에 대한 큰 지도가 있어야 함지도의 뼈대를 세운 후에 연차를 쌓아가며 살을 붙이고 자세히 색칠하는 식으로 발전을 해나가야 함어떤 것이 중요한지 본인 스스로 판단하고 따로 공부를 하여 본인을 발전해나가는 식으로 개발자로써의 역량을 발전시켜야 함 2.1. Embedded 개발의 큰 그림아래의 내용은 임베디드뿐 아니라 모든 분야의 개발자에게 도움이 될만한 내용 1) 전기전자, 양자역학원자 주위를 도는 전자로 인해 전기력 발생 : 이 전기를 인위적으로 발생시켜 컴퓨터 사용.. [오제이 튜브의 임베디드 실전 강의] OT 1. 강의 수강을 위한 기본 조건기본적인 C언어 구현 가능Linked List 구현 가능 정도개발 보드가 있어야 함처음엔 보드 없이 2주 정도 이론 강의 진행 2. 강의 진행 계획2.1. 초기 강의 계획STM, Atmel, Chip 선정 방식, ARM 시장은 어떤지 등등 소개실제 제품 개발 진행 과정추후 진행 계획2.2. 이후 강의 계획1) GPIO를 다룰 예정STM은 HAL Drive를 씀HAL(Hardware Abstraction Layer) : 컴퓨터의 하드웨어와 소프트웨어 사이의 추상화 계층 HAL은 하드웨어의 차이를 숨겨서 응용 프로그램이 작동할 수 있는 일관된 플랫폼을 제공한다이 HAL Drive를 통해 GPIO를 간단하게 다룬 후, HAL Drive 없이 GPIO 제어Embedded 개발 시.. 이전 1 2 3 다음