可以在timer0中写:if ( count ) count--试试,或者在timer0中把中断关了就是
第2个参数是给出当前cpu运行在多少MHz的主频下,你可以去看一下DSP2833x_CpuTimers.c这个程序中的这个函数定义,一旦你初始化28335的时钟,那么主频就定下来了,像你这种调用使用150000和1500,首先cpu主频不会这样改变,其次,也不可能运行在150000MHz,28335运行在150MHz时,第2个参数写150即可,要修改的是第3个参数,看28335的数据手册,对定时器的寄存器 *** 作是有取值范围的,定时器不可能能给出100s的延时,顶多延时个二、三十秒,再多肯定计数溢出。
普通要延时100秒,可以让定时器输出1秒的延时,触发中断,中断中计算秒数,数到100秒再另外给出标志来,定时器是用于短时精准计时和延时的,一般是微秒级和毫秒级用得多些。定时器和RTC的用法是不一样的,用处也不一样。
比如第3个参数就是要给出延时多少微秒。下面是这个函数的说明:
//---------------------------------------------------------------------------
// ConfigCpuTimer:
//---------------------------------------------------------------------------
// This function initializes the selected timer to the period specified
// by the "Freq" and "Period" parameters. The "Freq" is entered as "MHz"
// and the period in "uSeconds". The timer is held in the stopped state
// after configuration.
//
void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)