问题一:我将LEVEL1烧写到28335中发现当我烧到RAM和FLASH中会出现不同的结果,我想问一下除了将buildlevel设置为level1和将enableflag置1,是否还有其他我没有设置的标志位?
问题二:刚说到当程序烧到RAM和FLASH中会出现不同的结果,我是由于板子的PWM6A/B当做了I/O来使用,所以我先将1,2引脚配置成PWMDAC, 3.4.5配置成了PWM引脚
pwmdac1.MfuncC1 = svgen1.Ta;
pwmdac1.MfuncC2 = svgen1.Tb;
PWMDAC_MACRO(1,pwmdac1) // PWMDAC 1A, 1B
pwmdac1.MfuncC1 = svgen1.Tc;
pwmdac1.MfuncC2 = svgen1.Tb-svgen1.Tc;
PWMDAC_MACRO(2,pwmdac1)
这是烧写到FLAHS中的结果,会发现完全没有资料中说到的120°的相位差,这是为什么?以及实时调试变量的结果,会发现烧写到FLASH的时候ISRTICKER这个变量根本就没有任何变化相当于没有进中断,但是当我烧写RAM中的时候,ISRTICKER这个变量是在不断增加的,但是烧写到RAM中一直都没有PWM波形输出,这又是什么原因呢?
图一为烧写到FLASH中,我测得的波形已经加上了RC低通滤波
图二为烧写到FLASH中的实时变量,可以看到ISRTICKER这个变量没有改变
图三为当把程序烧写到RAM中时的实时变量的变化,ISRTICKER一直增加,但是用示波器观察PWM输出引脚没有任何变化,为低电平
麻烦大神解答,不胜感激
mangui zhang:
烧写烧写到flash中如果你通过仿真器进行仿真 那说明代码还是在RAM中运行