==============================
1. \Inc\stm32f2xx_hal_conf.h 에 코멘트 처리 되있는거 풀어 주고
----------------------------------------------------
#define HAL_I2C_MODULE_ENABLED
----------------------------------------------------
==============================
2. gpio.c 에 다음 울 추가 ( i2c.c 에 있어 안해 줘도 되는)
----------------------------------------------------
// PB10 ------> I2C2_SCL
// PB11 ------> I2C2_SDA
/*Configure GPIO pins : PB10 PB11 */
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
----------------------------------------------------
==============================
3. main.c 에 다음 사항 추가
----------------------------------------------------
#include "i2c.h"
#define _Dev_Adr 0x37 << 1 // client device address is 0x37
unsigned char rBuf[100];
void read_i2c() { // device 에서 5 바이트 읽기
/*
hi2c2: Pointer to a I2C_HandleTypeDef structure
_Dev_Adr : 7 bit client 주소, 이 함수 부르기 전에 왼쪽으로 1개 쉬프트 되 있어야 한다
rBuf : 읽은 데이타가 저장될 버퍼
5 : 읽을 바이트 수
1000 : Timeout duration
*/
HAL_I2C_Master_Receive(&hi2c2, _Dev_Adr, rBuf, 5, 1000); //
}
void main() {
//: 생략
MX_GPIO_Init();
MX_DMA_Init();
MX_ADC1_Init();
MX_FSMC_Init();
MX_TIM1_Init();
MX_TIM8_Init();
MX_TIM10_Init();
MX_TIM2_Init();
MX_USART1_UART_Init();
MX_USART6_UART_Init();
MX_I2C2_Init(); // --------------------- 이줄을 추가 한다.
//: 생략
read_i2c();
}
----------------------------------------------------
==============================
추가 파일 4개 - 첨부 파일 참조
Drivers\STM32F2xx_HAL_Driver\Inc\stm32f2xx_hal_i2c.h
Drivers\STM32F2xx_HAL_Driver\Src\stm32f2xx_hal_i2c,c
i2c.h
i2c.c
'개발 > embed' 카테고리의 다른 글
[CubeIDE] stm32 Uart 살리기 LoopBack, sample source (0) | 2023.07.13 |
---|---|
STM32 UART로 FW 다운로드 (0) | 2023.07.13 |
[CubeIDE] stm32 프로젝트 만들기 (0) | 2023.07.13 |
Nuvoton M483-Wiznet W5500 ioLibrary-DHCP, DNS sample source (0) | 2023.06.12 |
Nuvoton M483 에 Wiznet W5500 ioLibrary 연결 하기 source example (0) | 2023.03.07 |