TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28069: PLL 初始化挂死

Part Number:TMS320F28069

我调用

void XtalOscSel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF = 0; // Turn on XTALOSC
// DELAY_US(1000); // Wait for 1ms while XTAL starts up
asm(" RPT#255||NOP");
asm(" RPT#255||NOP");
asm(" RPT#255||NOP");
asm(" RPT#255||NOP");
SysCtrlRegs.CLKCTL.bit.XCLKINOFF = 1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.OSCCLKSRC2SEL = 0; // Switch to external clock
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL = 1; // Switch from INTOSC1 to INTOSC2/ext clk
SysCtrlRegs.CLKCTL.bit.WDCLKSRCSEL = 0; // Clock Watchdog off of INTOSC1 always
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF = 1; // Turn off INTOSC2
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF = 0; // Leave INTOSC1 on
EDIS;
}

对时钟进行初始化,但为啥有时候:#define DELAY_US(A)  DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) – 9.0L) / 5.0L)
采用这个函数会死在里面?

我被迫换成:asm(" RPT#255||NOP"); 才能工作;

Green Deng:

你好,这个问题是在ram仿真的时候出现的还是flash仿真的时候出现的?

,

user6049953:

FLASH 仿真, 始终挂在那里,不动;

,

Green Deng:

那正常,flash运行的时候delay_us函数要复制到ram中运行。也就是要调用memcpy函数,不知道你的程序中是否有调用

另外也可以一下参考这个帖子:

e2e.ti.com/…/tms320f280049-introduction-to-memcpy-function

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28069: PLL 初始化挂死
分享到: 更多 (0)