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

易经网站建设应用app地推网

易经网站建设应用,app地推网,网站建设前期准备工作,出口电商平台有哪些目录 背景 程序 第一步、使能PCLK1外设时钟​编辑 第二步、时基单元配置 第三步、配置NVIC(设置定时中断优先级)​编辑 第四步、使能溢出中断 第五步、使能定时器 第六步、填写中断处理函数(ISR) 背景 在单片机开发当中&…

目录

背景

程序

第一步、使能PCLK1外设时钟​编辑

第二步、时基单元配置

第三步、配置NVIC(设置定时中断优先级)​编辑

第四步、使能溢出中断

第五步、使能定时器

第六步、填写中断处理函数(ISR)


背景

在单片机开发当中,我们可以经常看到定周期函数。这些定周期函数都是通过定时器最基本定时中断功能。如果学习前面的PWM。会更快的了解相关概念。

时基单元
可编程通用定时器的主要部分是一个 16 位计数器和与其相关的自动装载寄存器。这个计数器可
以向上计数、向下计数或者向上向下双向计数。此计数器时钟由预分频器分频得到。
计数器、自动装载寄存器和预分频器寄存器可以由软件读写,在计数器运行时仍可以读写。
时基单元包含:
● 计数器寄存器 (TIMx_CNT)
● 预分频器寄存器 (TIMx_PSC)
● 自动装载寄存器 (TIMx_ARR)
自动装载寄存器是预先装载的,写或读自动重装载寄存器将访问预装载寄存器。根据在
TIMx_CR1 寄存器中的自动装载预装载使能位 (ARPE) 的设置,预装载寄存器的内容被立即或在
每次的更新事件 UEV 时传送到影子寄存器。当计数器达到溢出条件 ( 向下计数时的下溢条件 ) 并当
TIMx_CR1 寄存器中的 UDIS 位等于 ’0’ 时,产生更新事件。更新事件也可以由软件产生。随后会
详细描述每一种配置下更新事件的产生。

程序

//定时器时间计算公式Tout = ((重装载值+1)*(预分频系数+1))/时钟频率;
//例如:1秒定时,重装载值=9999,预分频系数=7199void TIM3_Init(u16 arr,u16 psc){  //TIM3 初始化 arr重装载值 psc预分频系数TIM_TimeBaseInitTypeDef     TIM_TimeBaseInitStrue;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能TIM3TIM_TimeBaseInitStrue.TIM_Period=arr; //设置自动重装载值TIM_TimeBaseInitStrue.TIM_Prescaler=psc; //预分频系数TIM_TimeBaseInitStrue.TIM_CounterMode=TIM_CounterMode_Up; //计数器向上溢出TIM_TimeBaseInitStrue.TIM_ClockDivision=TIM_CKD_DIV1; //时钟的分频因子,起到了一点点的延时作用,一般设为TIM_CKD_DIV1TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStrue); //TIM3初始化设置TIM3_NVIC_Init (); //开启TIM3中断向量TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);//使能TIM3中断    TIM_Cmd(TIM3,ENABLE); //使能TIM3
}void TIM3_NVIC_Init (void){ //开启TIM3中断向量NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x3;	//设置抢占和子优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x3;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);
}

第一步、使能PCLK1外设时钟

第二步、时基单元配置

输入到计数器的时钟为      72 000 000 /(7199 +1) = 1 000HZ

计数器溢出时长生Update中断频率: 10000HZ /(9999+1) =1HZ

为何+1有在PWM中介绍。

第三步、配置NVIC(设置定时中断优先级)

第四步、使能溢出中断

计数器溢出的中断就是update中断

第五步、使能定时器

第六步、填写中断处理函数(ISR)

void TIM3_IRQHandler(void){ //TIM3中断处理函数if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET){	//判断是否是TIM3中断TIM_ClearITPendingBit(TIM3, TIM_IT_Update);//此处写入用户自己的处理程序GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1-GPIO_ReadOutputDataBit(LEDPORT,LED1))); //取反LED1}
}

http://www.dtcms.com/wzjs/166130.html

相关文章:

  • 低价网站建设教程企业网络营销青岛
  • 建设项目公示网站项目营销推广方案
  • 网站预算新网站排名优化怎么做
  • 天津网站建设 泰姆仕高端定制网站建设
  • sourceforge wordpress成都纯手工seo
  • javaweb网上购物系统十大seo公司
  • 平台网站建设推荐搜索竞价排名
  • wordpress中文免费模板seo实战培训费用
  • 单县城乡住房建设局网站店铺推广引流的方法
  • 建一个网站带管理需要多少钱一年百度下载正版
  • 静态网站模板中英文方象科技专注于什么领域
  • 如何做公司的网站建设网络营销企业有哪些公司
  • 电子商务软件网站建设的核心百度网盘客服在线咨询
  • wordpress提醒用法比优化更好的词是
  • 微信内部劵网站怎么做怎样交换友情链接
  • 怎么自己做直播网站网络营销的营销方式
  • 旅行社网站制作网络销售平台
  • asp网站开发 基础新站优化案例
  • 家居设计上海牛巨微seo
  • 莱芜金点子广告最新招聘信息萧山区seo关键词排名
  • 宝安附近做网站公司长沙关键词优化首选
  • 兰溪市建设局官方网站域名购买平台
  • 自己做网站步骤免费域名解析
  • 做本地网站怎么挣钱网络营销师报名官网
  • 怎么做网站icp备案百度网址大全官网旧版
  • 南昌做房地产用哪个网站高级搜索指令
  • 像天猫网站怎么做太原seo关键词排名
  • 华硕路由器做网站怎样宣传网站
  • 北京网站开发服务谷歌优化排名哪家强
  • 嘉鱼网站建设公司南通seo网站优化软件