본문 바로가기

Stm3220

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.
GPIO(1) ※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다.    오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.    아래 글은 STM32F429ZI datasheet와 Reference manual를 기준으로 작성되었습니다.    (임베디드 개발자에게 datasheet와 Reference manua을 지도와 나침판과 다름없이 존재)    GPIO란? ->  General Purpose Input/Output의 약자-> 다용도 입출력 포트 또는 핀-> CPU 입장에서 입력, 줄력 장치를 연결하여 제어 할 떄 사용하는 포 STM32 GPIO 레지스터 1. 포트- PA ~ PH 포트까지 있다- 한 PORT 당 총 16개 핀이 있다 2. 역할에 따른 분류1). C.. 2024. 4. 26.