본문 바로가기

MCU/STM3230

STM32F103xB - RCC 설정 먼 옛날에 쓰다만건데 임시저장 된거 없앨라고 걍 올리는거 (저는 stm32f103RBT6 - NUCLEO board를 사용합니다) ​ RCC를 설정하기 위해 필요한 내용 -RCC를 설정할 수 있는 4개의 Data Structures -Data Structures의 내용에 따라 초기화를 하거나 초기화 취소해주는 함수 ​ RCC를 설정할 수 있는 4개의 Data Structures RCC_PLLInitTypeDef : RCC PLL configuration structure definition. RCC_ClkInitTypeDef : RCC System, AHB and APB busses clock configuration structure definition. RCC_OscInitTypeDef : RCC I.. 2021. 3. 10.
stm32에서 uart 데이터를 받는 3가지 방법 stm32에서 uart 데이터를 받는 3가지 방법 폴링 모드 - HAL_UART_Receive 수신 데이터가 들어올 때까지 CPU 작동 중단 수신이 끝나고 나서 다른 일을 할 수 있음. 인터럽트 - HAL_UART_Receive_IT 수신 데이터가 들어오기 전까지는 다른 일을 함 수신 데이터가 들어오면 수신에 CPU를 사용 수신이 끝나면 인터럽트 발생 DMA - HAL_UART_Receive_DMA 설정만 하면 알아서 수신 CPU 개입 없음 수신 끝나면 인터럽트 발생 내가 이해한 바로는 이렇다. 틀릴 수도 있어영. 참고하기 좋은 자료 How To Receive UART Serial Data With STM32 – DMA / Interrupt / Polling 2021. 3. 1.
[MPU6050] library 사용해서 센서 값 받기 mokhwasomssi/STM32F1_HAL_MPU6050 Very Simple MPU6050 library (STM32 HAL). Contribute to mokhwasomssi/STM32F1_HAL_MPU6050 development by creating an account on GitHub. github.com 1. 개요 MPU6050를 쉽게 사용할 수 있도록 함수를 정의해놓은 라이브러리 센서 값을 받기위해 필요한 최소한의 것만 포함했습니다. (인터럽트 없음, mpu6050 1개만 연결할때의 코드) 사용 툴 Iar Embedded Workbench IDE STM32CubeMx (hal library) 3. 파일 목록 main.c : 라이브러리 사용 예시 mokhw_MPU6050.h : 헤더 파일 m.. 2021. 2. 21.
[MPU6050] STM32 HAL I2C설정, I2C함수 저는 STM32F103RBT6-nucleo board 를 사용했습니다. ​ ​ cube mx 사용해서 i2c설정과 핀설정 완료 -hal i2c 설정 ​ (main.c) I2C_HandleTypeDef hi2c2; //구조체 변수 hi2c2로 선언 ​ static void MX_I2C2_Init(void) { hi2c2.Instance = I2C2; hi2c2.Init.ClockSpeed = 100000; hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2; hi2c2.Init.OwnAddress1 = 0; hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISA.. 2021. 2. 20.
[MPU6050] 레지스터 1. MPU6050 레지스터 초기값 ​ 모든 레지스터의 초기값은 0x00이다. (예외 PWR_MGMT_1, WHO_AM_I) PWR_MGMT_1 = 0x40 (address 0x6B) WHO_AM_I = 0x68 (address 0x75) ​ 2. 필요한 레지스터 목록 (센서값 읽기 위해서 필요한 최소 레지스터) ​ 마스터에서 write하는 레지스터 ​ SMPLRT_DIV : 샘플링 레이트 설정 GYRO_CONFIG : 자이로스코프 측정범위 설정 ACCEL_CONFIG : 엑셀로미터 측정범위 설정 PWR_MGMT_1 : 센서 키기 ​ ​ SMPLRT_DIV : sample rate divider (address 0x19) MPU6050의 샘플 레이트를 정하기 위해 gyroscope out rate를 나누.. 2021. 2. 20.
[MPU6050] 기본소개, i2c, 연결 GY-521(MPU6050 6축 자이로스코프 모듈) 사용함 저는 STM32F103RBT6-nucleo board를 사용했습니다. 센서 값을 받기 위해 필요한 최소한의 레지스터 설명만 넣었습니다. 이 글에 없는 것 : self test, FIFO, DMP, 인터럽트, DHPF ​ 1. MPU6050 기본설명 ​ -3축 각속도 센서 + 3축 가속도 센서 (+ 온도 센서) -i2c 통신 사용 -16비트 analog to digital converters(ADCs) ​ -측정 범위 설정 가능(user programmable) 각속도 측정 범위 : ±250, ±500. ±1000, ±2000 deg/sec 가속도 측정 범위 : ±2g, ±4g, ±8g, ±16g (g : 중력 가속도) -평평한 바닥에 있으면 가속.. 2021. 2. 20.