본문 바로가기
임베디드.일렉트로닉스/STM32

STM32 . i2c DMA

by i.got.it 2023. 7. 27.

 

 

STM32CubeMX 에서 i2c DMA  설정. 

- 본 예는 I2C4   Master 로 사용하는 경우,

- I2C Configuration 에서 DMA Setting 에서 I2C4_RX, I2C4_TX 추가 

 

NVIC 설정에서 I2C event interrupt, I2C error Interrupt 필수 체크하여 활성화 . 

활성화 하지 않으면, 코드에서 함수  HAL_I2C_Master_Transmit_DMA(,,,) 호출 반환값이 HAL_ERROR 반환되고 정상 데이터 송신 안됨. 

 

코드 생성

main.c 의 MX_DMA_INIT() 함수를 보면 DMA1 Ch3 , 4  활성화  추가 된다. 

 

 

사용자 코드

 i2c 데이터 송신 , 수신용으로 함수 이름에 _DMA 부착된  함수 호출하면 된다.  

 

stm32l4xx_hal_i2c.h

 

 

main.c 등에  송신 , 수신 완료시 실행되는 콜백함수를 정의하고 완료시 실행되어야 할것 구현한다.   

 

I2C 송수신 완료 콜백함수 정의

 

 

연관 

DMA 사용하지 않는 blocking 방식 

 

STM32. I2C 사용하기.

개요 STM32 에서 I2C 사용하기 위하여 CubeMX에서의 설정 . I2C 활용하는 전체순서. 1. CubeMX에서 I2C사용하도록 설정하고, 이를 프로젝트 (예 : KEIL)에 반영하고, 2. 프로젝트(예 : KEIL )에서 I2C 관련 함수

igotit.tistory.com

 

 

상위정리

 

https://igotit.tistory.com/244 의 STM32

 

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리.

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리 제조사 칩 주요특징 실리콘랩 8bit MCU EFM8 시리즈 32bit EFM32 시리즈 EFM8 싸다. STM STM32 . 최고 항상 만족. Cypress pSoC pSoC6 은 기대해볼만. NORDIC nRF52 블투 무선솔루

igotit.tistory.com

 

 

 


첫 등록 : 2023.07.27

최종 수정 : 

단축 주소 : https://igotit.tistory.com/4750


 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5