void TIM4_IRQHandler(void)
{
if(TIM4->SR&0X0001)//溢出中断
{
sum+=500000;
if(sum==38500000)sum=9000000,num=0;//,BUTTON=!BUTTON;
//ad9851_wr_serial(0x01,sum);
ad9850_wr_serial(0x00,sum);
num++;
}
TIM4->SR&=~(1<<0);//清除中断标志位
}
//通用定时器中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void Timerx_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<2; //TIM2时钟使能
TIM4->ARR=arr; //设定计数器自动重装值
TIM4-> SC=psc; //预分频器不分频
TIM4->DIER|=1<<0; //允许更新中断
TIM4->DIER|=1<<6; //允许触发中断
TIM4->CR1|=1<<0; //使能定时器2
//MY_NVIC_Init(1,3,TIM4_IRQChannel,2);
}
LCD_ShowxNum(30,160,12345,6,16,0);
while (1)
{
delay_ms(20);
LCD_ShowxNum(150,180,temp,5,16,0);
LCD_ShowxNum(200,210,num,2,16,0);
急需!!请问为何我开了定时中断//MY_NVIC_Init(1,3,TIM4_IRQChannel,2); 会影响while()下面的 LCD_ShowxNum(150,180,temp,5,16,0);的显示,它显示一固定填充颜色而显示不出来数来,而放在whil()上面那句显示数的却正常,求解释。
|