728x90

STM32 24

STM32 - Clock Configuration

CubeIDE의 Clock Configuration에 대해 알아보겠다.CubeIDE에는 위와 같이 Clock에 대한 설정을 할 수 있는 화면이 구성되어 있다.위 구성은 실제 STM32F4 시리즈의 데이터 시트와 유사한 구조를 가지고 있다.우선 Clock Tree에 있는 용어들을 먼저 정리해보겠다.HCLK : Core Clock으로 실제 소스 코드를 동작시키는 Clock이다.SYSCLK : System Clock으로 Power On Reset 직후에는 무조건 내부 Clock으로 먼저 동작한다.HSE : High Speed External 외부 고속 Clock으로 STM32 외부에 Crystal/Ceramic resonator가 필요하다. Duty가 50% 이하인 외부 구형파, 삼각파 신호로도 사용이 가능하..

STM32 - GPIO 레지스터에 대하여 (MODER ~ AFRH)

GPIO 레지스터 종류 GPIO 레지스터는 GPIO_TypeDef 구조체에 10개가 정의되어 있다. 1. MODER2. OTYPER3. OSPEEDR4. PUPDR5. IDR6. ODR7. BSRR8. LCKR9. 10. AFR[2] (AFRL, AFRH)Configuration(설정)과 관련된 레지스터1. MODER2. OTYPER3. OSPEEDR4. PUPDR Data와 관련된 레지스터5. IDR6. ODR Set/Reset과 관련된 레지스터7. BSRR Locking과 관련된 레지스터9. 10. AFR[2] (AFRL, AFRH) 위와 같이 register들이 선언된 것을 확인할 수 있다.  GPIOA~K까지 각 Port는 각자의 시작 주소가 있으며, 각 레지스터 마다 offset을 통해 해당 레..

STM32 - (GPIO 구동용 함수 분석 / Board Select & MCU/MPU 차이)

GPIO 구동용 함수 STM32F429의 HAL 드라이버의 GPIO 구동용 함수에는 크게 3가지가 있다.1. 초기화 및 초기화 해제용 함수2. 입출력용 함수3. 인터럽트 처리용 함수 1. 초기화 및 초기화 해제용 함수HAL_GPIO_Init() : GPIO를 설정 조건에 맞추어 초기화한다.HAL_GPIO_DeInit() : GPIO를 reset 이후 디폴트 값으로 설정(초기화 해체)한다. 2. 입출력용 함수HAL_GPIO_ReadPin() : GPIO의 지정된 핀의 값을 읽어온다.HAL_GPIO_WritePin() : GPIO의 지정된 핀을 0 또는 1로 설정한다.HAL_GPIO_TogglePin() : GPIO의 지정된 핀의 값을 토글(toggle) 시킨다.HAL_GPIO_LockPin() : GPIO..

STM32 - HAL Driver / 프로잭트 생성 / GPIO (+실습)

STM32F429의 핀 이름이 P(Port)로 시작하는 모든 핀들은 GPIO로 사용이 가능하다.PA~PH 포트까지 0~15번까지 총 16개의 핀으로 구성되어 있다.- HAL Driver MCU의 주변장치를 제어하는 동작은 HAL(Hardware Abstraction Layer)에서 이루어진다.이를 위하여 HAL 레벨에는 여러 개의 파일들이 있으며 이러한 파일의 묶음을 HAL 드라이버라고 한다. HAL 드라이버는 주변장치의 구동을 위해 다음과 같은 종류의 데이터 구조체를 가진다.1. 주변장치 핸들링용 구조체2. 초기화 및 동작 조건 설정용 구조체3. 작업 수행용 구조체 1. 주변장치 핸들 구조체(Peripheral handle structures)주변장치 핸들 구조체는 주변장치/모듈의 설정, 레지스터 등과..

728x90