㈠ 关于dsp2812 编程的一点点一问
dsp由于上电复位之后,IER和IFR清零
DINT写那里都一样的。
定时器预定标计数器TPR的设置
此计数器为32位。其低16位为PSC:TDDR,高16位为PSCH:TDDRH。
由PSCH:PSC组成定时器预定标计数器,保持定时器的当前预定值。PSCH:PSC减到0后则为一个定时器时钟周期。
由TDDRH:TDDR组成定时器分频值。即每过(TDDRH:TDDR+1)个定时器时钟源周期(SYSCLKOUT),定时器计数器寄存器(TIMH:TIM)就减1。
而(TIMH:TIM)的初始值由定时器周期寄存器PRD的值装入。
由此可知,定时器中断周期的实际值为:
Ttimer = SYSCLKOUT * ( TDDRH:TDDR+1 ) * ( PRDH:PRD )
此时的SYSCLKOUT为时间值
即
Ftimer = SYSCLKOUT / (TDDRH:TDDR+1 ) / (PRDH:PRD )
此时的SYSCLKOUT为频率值
例如,本程序中,SYSCLKOUT = 1 / ( 60*10^6 ),且定时器初始化时设置如下:
CpuTimer2Regs.PRD.all = 0x0000258;
CpuTimer2Regs.TPR.all = 0;
CpuTimer2Regs.TPRH.all = 0;
则TDDRH:TDDR = 0,而PRDH:PRD = 0x258 = 600,
所以此时Ftimer = ( 60*10^6 ) / 1 / 600 = 100000 = 100 K
㈡ DSP2812程序烧写到FLASH中后,怎么擦除再写
因为cpu从flash的读取速度远低于cpu从ram中的读取速度,一般要加1或2个周期的延迟。所以就有差别了。