程序在ram中运行正常,但是一烧写到flash中while循环内的程序无法执行,我使用在电机控制的,里面有一个T1中断用来产生SVPWM波形,该输出用示波器观察都正常就是while循环里面的功能程序无法执行。该while循环主要实现的是LCD显示以及按键,请问这个问题该怎么解决?还有就是程序在flash中延时怎么和RAM中不一样,这又该怎么调整?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
程序在ram中运行正常,但是一烧写到flash中while循环内的程序无法执行,我使用在电机控制的,里面有一个T1中断用来产生SVPWM波形,该输出用示波器观察都正常就是while循环里面的功能程序无法执行。该while循环主要实现的是LCD显示以及按键,请问这个问题该怎么解决?还有就是程序在flash中延时怎么和RAM中不一样,这又该怎么调整?
楼从现象看应该是中断执行时间太长,导致无法运行主程序。楼主可以尝试以下:
1.将中断中的算法程序搬到RAM里面执行。
2.可以用XCLKOUT管脚测试CPU速度配置是否正确。
3.是否有调用 MemCopy函数,是否有调用InitFlash()函数。如果未执行InitFlash() 函数,程序在FLASH中的执行速度会比较慢!