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.
A:用哪颗芯片:TMS320F28027
B:硬件环境:
1. CCS5 Version: 5.2.0.00057
2. F28027 Piccolo Experimenter Kit:TMDSDOCK28027
3. OS:XP SP3, CPU3.3 GHz , 3G RAM
4. compiler file path:C:\ti\HVLLC
3、请说明您处于开发设计的哪个阶段?
C:研究階段
D: 問題如下,看不懂controlsuit 範例HVLLC 裡的main.c其中一段程式(有註解的地方),
1. Cputimer0Regs.TCR.bit.TIF 的初始值從那來的,我找完所以專案內容也沒看到?
2. 這段程式是否是指當Cputimer0Regs.TCR.bit.TIF==1時,CPU-Timer會開始減少計數器到0,然後再將putimer0Regs.TCR.bit.TIF 的bit設為0
main{
.....
void A0(void)
{
if(Cputimer0Regs.TCR.bit.TIF==1) // if TIF==1 ,CPU Timer會減到0
{ Cputimer0Regs.TCR.bit.TIF=1; // if TIF=1 ,清除中斷旗標, 將putimer0Regs.TCR.bit.TIF 的bit設為0
(*A_Task_Ptr)();
VTimer0[0]++;
}
Alpha_State_Ptr = &B0;
}
D: 問題如下,看不懂controlsuit 範例HVLLC 裡的main.c其中一段程式(有註解的地方),
1. Cputimer0Regs.TCR.bit.TIF 的初始值從那來的,我找完所以專案內容也沒看到?:
答:可以参考SPRUFN3D,TI官网有下载,这个寄存器初始默认值是0
2. 這段程式是否是指當Cputimer0Regs.TCR.bit.TIF==1時,CPU-Timer會開始減少計數器到0,然後再將putimer0Regs.TCR.bit.TIF 的bit設為0
main{
.....
void A0(void)
{
if(Cputimer0Regs.TCR.bit.TIF==1) // if TIF==1 ,CPU Timer會減到0
{ Cputimer0Regs.TCR.bit.TIF=1; // if TIF=1 ,清除中斷旗標, 將putimer0Regs.TCR.bit.TIF 的bit設為0
(*A_Task_Ptr)();
VTimer0[0]++;
}
Alpha_State_Ptr = &B0;
}
答:这段程序的意思是CPU Timer0的计数减到0时,就再给TIF赋值,清这个标志位。然后运行A_Task_Ptr
你的意思是說當DSP開始工作時,TIF的初始值為0,而CPUTimer會開始計數減到0,當計數到0時,TIF會設定為1,因為TIF=1(Cputimer0Regs.TCR.bit.TIF=1),所以暫存器TIF會清除為0,然後執行A_Task_Ptr,之後CPUTimer再重新計數到0....重覆執行…,這樣的解讀正確嗎?