로딩
요청 처리 중입니다...

STM DMA 호출 에러 HAL_I2C_Mem_Read_DMA, HAL_SPI_Receive_DMA

 STM DMA 호출 에러 HAL_I2C_Mem_Read_DMA,  HAL_SPI_Receive_DMA

안녕하세요. 오늘은 ST에서 제공하는 HAL Driver DMA 호출 에러에 대한 해결법을 알려드리겠습니다.

ST에서 제공하는 HAL Driver에서 DMA가 한 번만 호출되고 다음 번에 호출안되는 경우가 있습니다. - 예를들어 HAL_I2C_Mem_Read_DMA, HAL_SPI_Receive_DMA 함수 < MX_DMA_Init() 함수 선언 순서 > 가끔 Stm32cubemx에서 DMA설정을 끝내면 사진과 같이 소스코드가 생성되지 않고, SPI_Init, I2C_Init 선언 보다 아래에 선언될 때가 있습니다. 이럴 경우엔 MX_MDA_Init을 상단에 올려서 해결합니다.

만약 HAL_I2C_Mem_Read_DMA가 호출이 한 번만되는 경우에는 I2C Address를 다시 한 번 확인하고 정확한 IC Address 주소를 기입해야 한다. https://community.st.com/t5/stm32-mcus-products/stm32f405rg-hal-i2c-mem-read-dm...

# CubeMx # FW # HAL_I2C_Mem_Read_DMA # HAL_SPI_Receive_DMA # ST # STM # 디버깅 # 펌웨어