大家好,我在使用TMS320F28062时,在仿真状态下使用外部晶振 XtalOscSel(); 程序可以正常工作。但将程序烧写到FLASH中后,程序运行到
void XtalOscSel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF = 0; // Turn on XTALOSC
DELAY_US(1000); // Wait for 1ms while XTAL starts up
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;
}
的 DELAY_US(1000); 语句是就死机了。但如果我使用内部振荡器 IntOsc1Sel(),程序烧写后也可以正常工作,不知大家有没有遇到过类似的问题。
下面是我的晶振电路,请帮忙看看有什么问题没有,谢谢大家!