1、采用16M晶振,用SysCtlDelay(1000*SysctlClockGet()/3000) 来实现延时,是1秒吗? 这个句子的延时时间和晶振有关吗?
2、采用16M晶振,用16bit(Timer1A)来实现PWM波形输出,用TimerLoadSet(TIMER1_BASE,TIMER_A,16000);设定装载值来定PWM的周期,和晶振有关系吗?我现在要实现1ms的周期,初值装载16000对吗?
1、你调用的1秒延时函数是正确的, 与晶振无关;
2、1ms的定时周期应该是1600.
不好意思,少敲一个0. 1ms定时周期应该是16000 。
1.这个延时和晶振无关,SysCtlDelay(),每个循环需要3个时钟周期,所以你直接SysCtlDelay(SysCtlClockGet()/3)即可延时1s
2.你用16位的定时器,装载值最大为2^16 = 65536,如果16MHz的主频,则1ms装载值为16M/1000 = 16000。这个值和主频有关。