본문 바로가기

Stm32/실제 구동(stm32cubeide)7

UART (Polling, Interrupt , DMA) [HAL-DRIVER 이용] 이번 글은 stm32cubeide에서 printf문과 scanf문  사용 방법과 float, double 실수 변수 사용 방법, uart 실제 구동 코드를 정리하고자 한다. 사용 TOOL : stm32CUBEIDE보드명 : stm32f411re nucleo board (HCLK MAX : 100HZ) 1. printf문  1)  표준 입출력 헤더파일 선언 2) 아래  __io_putchar 또는 _write 함수를 정의한다. (1) __io_putchar /* Private user code ---------------------------------------------------------*//* USER CODE BEGIN 0 */int __io_putchar(int ch){ HAL_UART_Tra.. 2024. 5. 8.
[1]GPIO 입출력 레지스터 직접 제어 출력 레지스터 제어 전 먼저 설정해야 할 것이 있다.- 해당 핀 클럭 소스 선택 HSI or HSE- 타입(풀다운 또는 풀업) ->  GPIOx_OTYPER , GPIOx_PUPDR - 클럭 스피드 지정 -> GPIOx_OSPEEDR- 모드 지정 -> GPIOx_MODER GPIO 출력 설정 레지스터 순서1. GPIOX_CRL - configuration register2. GPIOX_CRH - configuration register3. GPIOX_ODR - data output register4. GPIOX_BSRR - set/reset register5. GPIOX_BRR - reset register 1. Enable GPIOX clock2. Set the PIN as output3. Config.. 2024. 5. 2.
GPIO 입출력 [HAL-DRIVER 이용] 아래 글은 STM32F411RE User Manual, Datasheet, Reference Manual를 기준으로 작성되었습니다.사용 IDE : STM32CubeIDESTM32CubeIDE는 HAL Driver라는 ARM 용 API를 사용합니다. GPIO 출력관련 HAL_DRIVER 함수는 stm32cubeide 프로젝트 생성시STM32F4xx_HAL_Driver -> stm32f4xx_hal_gpio.c에서 확인할수 있다. 1) HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)->   GPIOx의 Pin의 상태를 설정한다.매개변수 설명- GPIOx : 포트 지정- GPIO_Pin : 핀 번호 지정- Pin.. 2024. 5. 1.