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

F28335例程PLL配置问题

小弟在学习F28335,对controlSUITE中Example_2833xEPwmTimerInt例程Dsp2833x_SysCtrl.c 配置PLL里边的一段代码不是很明白,请教一下各位。

代码如下:

void InitPll(Uint16 val, Uint16 divsel)
{// Make sure the PLL is not running in limp modeif (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0){// Missing external clock has been detected// Replace this line with a call to an appropriate// SystemShutdown(); function.asm("ESTOP0");}if (SysCtrlRegs.PLLSTS.bit.DIVSEL != 0){EALLOW;SysCtrlRegs.PLLSTS.bit.DIVSEL = 0;EDIS;}// Change the PLLCRif (SysCtrlRegs.PLLCR.bit.DIV != val) //疑问,这里 val 是不是0?以前学习的C语言全部还给老师了,汗{EALLOW;// Before setting PLLCR turn off missing clock detect logicSysCtrlRegs.PLLSTS.bit.MCLKOFF = 1;SysCtrlRegs.PLLCR.bit.DIV = val;EDIS;DisableDog();while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1){// Uncomment to service the watchdog// ServiceDog();}EALLOW;SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;EDIS;}

	if((divsel == 1)||(divsel == 2))
	{
		EALLOW;SysCtrlRegs.PLLSTS.bit.DIVSEL = divsel;EDIS;
	}
	if(divsel == 3)
	{
		EALLOW;SysCtrlRegs.PLLSTS.bit.DIVSEL = 2;DELAY_US(50L);SysCtrlRegs.PLLSTS.bit.DIVSEL = 3;EDIS;}
}

代码里边的val是不是0,以前学习C语言的时候,int val; 这应该是一个不确定的值,一般会这样 int val=0;

这里没有赋值为0,是为什么呢?

Kevin2014:

回复 rookiecalf:

 谢谢,你这么一说,瞬间理解了。C语言忘记得也差不多了

赞(0)
未经允许不得转载:TI中文支持网 » F28335例程PLL配置问题
分享到: 更多 (0)