在线时间12 小时
UID3581014
ST金币0
蝴蝶豆0
注册时间2019-7-26
初级会员
- 最后登录
- 2020-1-8
|
a0a.1 32b0c
各位好,
想与各位请教,我用STM32CubeMX 建立了以FatFs 作为读取JPG档案,且用硬体解码于屏幕显示。
有参考过CubeMX的程序( STM32H743EVAL ->JPEG_DecodingUsingFs_DMA),但是似乎有些状况,不知板上是否有人遇到类似的问题?
如下
- /*##-8- Wait till end of JPEG decoding and perfom Input Processing in BackGround #*/
- do
- {
复制代码
在do..while 部分一直不断执行无法使得 JpegProcessing_End = 1
以下为JPEG_InputHandler,一到JPEG_BUFFER_EMPTY 就 Return 0
- uint32_t JPEG_InputHandler(JPEG_HandleTypeDef *hjpeg)
- {
- if (Jpeg_HWDecodingEnd == 0)
- {
- if(Jpeg_IN_BufferTab[JPEG_IN_Write_BufferIndex].State == JPEG_BUFFER_EMPTY)
- {
- if(f_read (pFile, Jpeg_IN_BufferTab[JPEG_IN_Write_BufferIndex].DataBuffer , CHUNK_SIZE_IN, (UINT*)(&Jpeg_IN_BufferTab[JPEG_IN_Write_BufferIndex].DataBufferSize)) == FR_OK)
- {
- Jpeg_IN_BufferTab[JPEG_IN_Write_BufferIndex].State = JPEG_BUFFER_FULL;
- }
- else
- {
- Error_Handler();
- }
-
- if((Input_Is_Paused == 1) && (JPEG_IN_Write_BufferIndex == JPEG_IN_Read_BufferIndex))
- {
- Input_Is_Paused = 0;
- HAL_JPEG_ConfigInputBuffer(hjpeg,Jpeg_IN_BufferTab[JPEG_IN_Read_BufferIndex].DataBuffer, Jpeg_IN_BufferTab[JPEG_IN_Read_BufferIndex].DataBufferSize);
-
- HAL_JPEG_Resume(hjpeg, JPEG_PAUSE_RESUME_INPUT);
- }
-
- JPEG_IN_Write_BufferIndex++;
- if(JPEG_IN_Write_BufferIndex >= NB_INPUT_DATA_BUFFERS)
- {
- JPEG_IN_Write_BufferIndex = 0;
- }
- }
- return 0;
- }
- else
- {
- return 1;
- }
- }
复制代码 其中另一个可使得 Jpeg_HWDecodingEnd = 1 的程序
- void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef *hjpeg)
- {
- Jpeg_HWDecodingEnd = 1;
- }
复制代码 但因未开启Callback而无法使用
有高手能相助吗?
非常感谢!
|
|