2017-11-16 04:42 AM
I use the DSI interface in the STM32F469 microcontroller and I try to read this by means of the HAL_DSI_READ function - but data are read not completely, only 1 byte from four. Tell me please how it is correct to use this function, can be somewhere to eat examples?
Solved! Go to Solution.
2017-11-17 03:39 AM
In these examples the HAL_DSI_Read function is not used.
I found the reason because of which the HAL_DSI_Read function worked incorrectly. When function is caused, first of all lock by a macro __ HAL_LOCK(hdsi) joins;
Further, if the number of bytes for reading more than 2, is caused the HAL_DSI_ShortWrite function in which lock joins too! Because of it the HAL_DSI_ShortWrite function does not work and the status of HAL_Busy returns.Relock cannot be done - in it there was a reason.
2017-11-16 04:50 AM
Posted on November 16, 2017 at 13:50
Hi G.Marat,
I recommend you to have a look to AN4860 about DSI Host on STM32F469/479, STM32F7x8/x9 and STM32L4R9/S9 MCUs
A set of example also are provided in STM32F4 cube firmware package :
-Nesrine-
2017-11-17 03:39 AM
In these examples the HAL_DSI_Read function is not used.
I found the reason because of which the HAL_DSI_Read function worked incorrectly. When function is caused, first of all lock by a macro __ HAL_LOCK(hdsi) joins;
Further, if the number of bytes for reading more than 2, is caused the HAL_DSI_ShortWrite function in which lock joins too! Because of it the HAL_DSI_ShortWrite function does not work and the status of HAL_Busy returns.Relock cannot be done - in it there was a reason.