当前位置: 首页 > news >正文

设计网站多少钱做个小网站多少钱

设计网站多少钱,做个小网站多少钱,留言板网站模板,动漫设计培训机构哪里好STM32定时器定时及其应用 定时器概述☆定时器相关配置CubeMX工程配置及程序实现固件库程序设计及实现 定时器概述 1. 工作原理 使用精准的时基,通过硬件的方式,实现定时功能。定时器核心就是计数器 2. 定时器分类   基本定时器(TIM6~TIM7…

STM32定时器定时及其应用

  • 定时器概述
  • ☆定时器相关配置
  • CubeMX工程配置及程序实现
  • 固件库程序设计及实现

定时器概述

  • 1. 工作原理
    使用精准的时基,通过硬件的方式,实现定时功能。定时器核心就是计数器

  • 2. 定时器分类
      基本定时器(TIM6~TIM7)
      通用定时器(TIM2~TIM5)
      高级定时器(TIM1和TIM8)

    定时器类型主要功能
    基本定时器没有输入输出通道,常用作时基,即定时功能
    通用定时器具有多路独立通道,可用于输入捕获/输出比较,也可用作时基
    高级定时器除具备通用定时器所有功能外,还具备带死区控制的互补信号输出刹车输入等功能
  • 3. STM32F103C8T6资源

  • 4. 通用定时器介绍

    1. 16 位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。
    2. 16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 1~65535 之间的任意数值。
    3. 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为:
       A.输入捕获
       B.输出比较
       C.PWM 生成(边缘或中间对齐模式)
       D.单脉冲模式输出
    4. 可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路。
    5. 如下事件发生时产生中断/DMA:
       A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
       B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
       C.输入捕获
       D.输出比较
  • 5. 定时器计数模式

    计数模式计数器溢出值计数器重装值
    向上计数CNT = ARRCNT = 0
    向下计数CNT = 0CNT = ARR
    中心对齐计数CNT = ARR - 1CNT = ARR
    CNT = 1CNT = 0

在这里插入图片描述

  • 6. 定时器时钟源

    1. 时钟源:定时器时钟TIMxCLK,即内部时钟CK_INT,经APB预分频后分频提供
    2. 计数器时钟:定时器时钟经过PSC预分频器之后,即CK_CNT,用来驱动计数器计数。
    3. 计数器CNT:是一个16位/32的计数器
    4. 自动重装载寄存器:这里面装着的计数器能计数的最大数值。当计数到这个值的时候,如果使能了中断的话,定时器就产生溢出中断。
    5. 计数中断时间:1/(TIMxCLK/(PSC+1))*(ARR+1))
  • 7. 定时器溢出时间公式☆

    例如,要定时500ms,则:PSC=7199,ARR=4999,Tclk=72M

☆定时器相关配置

  • 使能时钟配置
  • 定时器参数配置
  • NVIC中断配置
  • 中断服务函数

CubeMX工程配置及程序实现

  • 时钟配置

    1. 采用外部高速晶振
    2. 时钟树配置
  • 定时器配置

    1. 开启定时器

    2. 参数设置

    3. 使能中断NVIC

  • 程序设计

    //初始化TIM2用于计时
    HAL_TIM_Base_Start_IT(&htim2);	//定时器中断服务程序
    void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    {if( htim->Instance == TIM2){HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);}
    }
    

固件库程序设计及实现

  • 使能时钟配置

    	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);	//初始化定时器时钟
    
  • 定时器结构体配置

    	TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;	//定时器结构体定义TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;	//不分频TIM_TimeBaseStructure.TIM_Prescaler =  psc;				//设置预分频系数TIM_TimeBaseStructure.TIM_Period = arr;					//设置自动重装载值TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;	//向上计数TIM_TimeBaseInit( TIM2, &TIM_TimeBaseStructure );		//初始化结构体TIM_ITConfig( TIM2, TIM_IT_Update,  ENABLE);			//使能中断 允许更新中断源TIM_Cmd( TIM2, ENABLE);									//使能定时器2
    
  • NVIC中断配置

    	NVIC_InitTypeDef NVIC_InitStructure;	//NVIC结构体定义//NVIC初始化NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;		//中断通道 TIM2NVIC_InitStructure.NVIC_IRQChannelCmd =  ENABLE;	//使能通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;	//抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;			//子优先级NVIC_Init(&NVIC_InitStructure);						//初始化NVIC结构体
    
  • 定时器2初始化函数设计

    	void TIM2_Init(u16 psc, u16 arr)		//500ms{TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);	//初始化定时器时钟//定时器初始化	TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;	//不分频TIM_TimeBaseStructure.TIM_Prescaler =  psc;TIM_TimeBaseStructure.TIM_Period = arr;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit( TIM2, &TIM_TimeBaseStructure );				//初始化结构体TIM_ITConfig( TIM2, TIM_IT_Update,  ENABLE);					//使能中断 允许更新中断源//NVIC初始化NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelCmd =  ENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_Init(&NVIC_InitStructure);TIM_Cmd( TIM2, ENABLE);																//使能定时器2}
    
  • 中断服务函数

    //TIM2 中断服务函数
    void TIM2_IRQHandler(void)
    {if( TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET )	 //中断标志位判断,确认进入中断{LED1 = !LED1;TIM_ClearFlag(TIM2, TIM_IT_Update);		//清除中断标志位}
    }
    
http://www.yayakq.cn/news/77208/

相关文章:

  • 国内外网站建设科技让生活更美好作文600字
  • 网站建设与管理 市场分析开网店的流程图
  • 哪家做网站做得好包头市
  • 电商网站设计哪家好萍乡做网站的公司
  • 做网站要学那些东西公司营销策划方案
  • 东莞东城网站建设公司wordpress主题大前端
  • 钻井网站建设泉州学校网站建设
  • 廊坊网站网络推广外包公司
  • 模板网站建设套餐网站建设价格费用
  • 网站建设实训小组报告wordpress the_field
  • 网站根目录 本地共享软件推广平台有哪些?哪个比较好
  • 创建网站的软件什么梦做我的世界头像的网站
  • 企业网站推广哪家好怎么让网站分享有图片
  • 网站一般用什么免费字体wordpress story 模板
  • 灵犀科技网站建设企业邮箱注册哪个好
  • 网站建设优化佛山黄冈做网站
  • 外贸怎么做公司网站外贸WordPress主机推荐
  • 北京南站地铁自己可以模拟装修app
  • 网站怎么做友链网页制作网站花店
  • 自助建站免费建站五个平台学网站开发的软件有哪些
  • 自己怎么做单页网站wordpress滑动
  • 西安医疗网站建设网站备案IP与空间
  • ps做网站导航条高度珠海网站建设公司
  • 深圳企业网站app开发wordpress 批量导入
  • 软件 行业门户网站网站开发的基本知识
  • 深圳网站程序开发网站升级改版需要几天
  • 周到的网站建设推广什么叫软件外包公司
  • 东莞高端网站建设公司哪家好设计公司企业标语
  • 做数据ppt模板下载网站茂名专业做网站公司
  • 网站建设公司选择标准手机版网站制作应用