void Init_Time1(void)
{
TIM1->IER = 0x00; // 禁止中断
TIM1->EGR = 0x01; // 允许产生更新事件
TIM1->PSCRH = 0;
TIM1->PSCRL = 1; //(fCK_CNT)等于fCK_PSC/( PSCR[15:0]+1)
TIM1->ARRH = 0x7F;
TIM1->ARRL = 0xFF;
TIM1->CNTRH = 0x7F; // 设定计数器的初值
TIM1->CNTRL = 0xFF;
TIM1->CR1 = 0x01; // b0 = 1,允许计数器工作
// b1 = 0,允许更新
// 设置控制器,启动定时器
}
时钟该怎么分频,怎么计算???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
//Initializes the TIM1(8MS定时)
void TIM1_Init(void)
{
TIM1_PSCRH = 0x00; //定时器时钟源16M/(15+1)=1M
TIM1_PSCRL = 0x0f;
TIM1_ARRH = 0x1f; //8ms中断一次
TIM1_ARRL = 0x40;
TIM1_IER = 0x01; //更新中断
TIM1_CR1 = 0x01; //计数器开
}
一周热门 更多>