• 定时器中断和串口


    功能说明:通过定时器3产生1秒的中断,(1)在中断函数中让开发板小灯闪烁,证明程序正常运行;

                       (2)在定时器中断函数中设置一个static变量,在中断来之

                           后,自动加1,且把变量值通usart发送到串口;

     基础知识:
      1.stm32通用定时器,16位预分频和自动重装载。

      2.RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); 

    打开定时器的时钟源。

      3.其他的知识可以借助数据手册和网络得到,这里就不过多阐述。

    1.main函数

      

    int main(void)
    {		 
    	delay_init();	    	 //延时函数初始化	  
    	NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    	uart_init(9600);	 //串口初始化为9600
     	LED_Init();	      //LED端口初始化
    	TIM3_Int_Init(9999,7199);//延时1秒  
       //说明:1s = (9999+1) * (7199+1)/72M
       //1.(7199+1)/72M 当stm32工作在72M时,每秒中跳动72M,通过分频,每秒钟跳动10000;
       //2.(9999+1)=10000,刚好1秒     

    
       	while(1)
    	{
    			   
    	}

    /****************timer.c文件*********************/

    //定时器3中断服务程序
    void TIM3_IRQHandler(void) //TIM3中断
    {
      static u16 time=0;
      if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查TIM3更新中断发生与否
      {
      TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中断标志
      time++;
      printf("时间 =%d ",time);
      LED0=!LED0;
      }
    }

        
    }

    	  
    }
    
      
  • 相关阅读:
    结对编程-马尔科夫链作业成绩
    结对编程-四则运算(挑战出题)成绩及点评
    结对编程-四则运算成绩
    结对编程-四则运算(挑战出题)
    结对编程
    每天进步一点点-第二天卒
    每天进步一点点-深度学习入门-基于Python的理论与实现 (一)
    今天准备更新每天提高一点点系列
    Books
    WPF命令好状态刷新机制
  • 原文地址:https://www.cnblogs.com/qglddh/p/3683436.html
Copyright © 2020-2023  润新知