㈠ 關於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個周期的延遲。所以就有差別了。