STM32F1 에서 I2C Slave를 사용할 경우 I2C 어드레스 주소를 두 개까지 사용 가능하다.
void I2C_OwnAddress2Config ( I2C_TypeDef *I2Cx, uint8_t Address )
Configures the specified I2C own address2.
**Parameters:**
I2Cx,: where x can be 1, 2 or 3 to select the I2C peripheral.
Address,: specifies the 7bit I2C own address2.
**Return values:**
None.
void I2C_DualAddressCmd ( I2C_TypeDef *I2Cx, FunctionalState NewState )
Enables or disables the specified I2C dual addressing mode.
**Parameters:**
I2Cx,: where x can be 1 or 2 to select the I2C peripheral.
NewState,: new state of the I2C dual addressing mode. This parameter can be: ENABLE or DISABLE.
**Return values:**
None.
기본적인 I2C 세팅이 끝난 후 I2C_OwnAddress2 Config()를 이용하여 추가적인 어드레스 설정하고,
함수의 Address 인자는 7bit 어드레스를 1bit << ( Left Shift ) 된 디바이스 어드레스 주소를 입력한다.
그리고 I2C_DualAddressCmd를 사용하여 Enable을 하면 사용 가능하다.
인터럽트 함수 에러 구문의 I2C 초기화 구문에도 I2C_OwnAddress2Config() & I2C_DualAddressCmd()을 추가한다.

인터럽트 구문에서는 I2C_SR2의 bit 7을 확인하는 추가 구문을 이용하여 어떤 ID로 인터럽트가 발생되었는지 확인하는 프로그램을 작성한다.
사업자 정보 표시
봄해(BOMHAI) | 이동현 | 경기도 수원시 장안구 상률로 32 103동 1301 | 사업자 등록번호 : 564-09-02316 | TEL : 010-2977-3322 | Mail : dylan@bomhai.com | 통신판매신고번호 : 2023-수원장안-0750호 | 사이버몰의 이용약관 바로가기
'MCU > TIP' 카테고리의 다른 글
bitband 전달하여 함수에서 사용하기 ( 이중포인터 ) (0) | 2022.06.30 |
---|---|
TouchGFX Designer 로 만든 프로젝트 에서 printf 사용 (0) | 2020.06.07 |
STM32CubeIDE 프로젝트 복사해서 재사용하는 방법 (0) | 2020.04.22 |