This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DMA Problem!!! please help

Hello
i am trying to build a simple DMA program to read ADC values and its working but not completely

the problem is here: at first this code is working
1.

          u[0]=((float)ADC_Data[0])*3;
                sprintf(str,"%.2fv   ",u[0]);
                LCD_SetPos(0,0);
                LCD_String(str);

when changed to : or even divide by 1 its not working any more and the LCD is too slow

          u[0]=((float)ADC_Data[0])*3/4096;
                sprintf(str,"%.2fv   ",u[0]);
                LCD_SetPos(0,0);
                LCD_String(str);

2. the debugger is updating the correct u[0] in this code without a problem:

          u[0]=((float)ADC_Data[0])*3;
                sprintf(str,"%.2fv   ",u[0]);
                LCD_SetPos(0,0);
                LCD_String(str);

but in this code not !!! why even when i put the 3 lines to comments its must not affect the u[0] value

          u[0]=((float)ADC_Data[0])*3;
//              sprintf(str,"%.2fv   ",u[0]);
//              LCD_SetPos(0,0);
//              LCD_String(str);

please please i spend hours ... hours without any success please help why the division is not working and the bug in updating u[0] value i tryied to use volatile variable double or others but always when i use division the code runs very slow

the full code is generated with Cubemx.

www.mediafire.com/.../file