2014-03-23 05:09 PM
Hello, I'm programing a VGA signal with the STM32 discovery board. I'm using a timer to generate sync pulses and everything seems to work fine since the image shows static in the monitor. But there are some glitches, the image is not static 100% some rows are shifted to the right. I've tried every possible thing to fix this... and nothing worked.
POSSIBLE REASON: (might not be the real reason) I've discovered it's due to calling functions in my main program. It seems that if a function is called just before an interrupt then the interrupt is called some microseconds after, and this is why some rows are shifted to the right in my monitor. If I just run plain instructions in my main loop then this bug doesn't happen, but I need to call some functions in my main loop, so this is not a solution... Is there any way to configure this processor to run interrupts right when they should run. Thanks in advance.2014-03-23 05:47 PM
What if you run code in RAM vs FLASH, and without PUSH/POP instructions? ie Load/Store Multiple
2014-03-24 04:54 AM
Thanks for your answer. I'm sorry but I'm new to stm32 and don't know what you mean with ''run code in ram vs flash''. Don't know what ''load/store multiple'' is nor how to use it. I googled it but really couldnt understand how this could solve my problem. Could you please explain?
Thanks so much in advance.