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

上海网站备案拍照地点必要这个网站怎么样

上海网站备案拍照地点,必要这个网站怎么样,帝国cms 门户网站,福州seo关键词第十七章 通用定时器中断实验 本章介绍APM32E103通用定时器的使用#xff0c;通用定时器相较于基本定时器#xff0c;拥有输入捕获和输出比较等功能#xff0c;这些功能可以用来测量脉冲宽度、频率和占空比#xff0c;并且可以产生并输出波形等。通过本章的学习#xff0…第十七章 通用定时器中断实验 本章介绍APM32E103通用定时器的使用通用定时器相较于基本定时器拥有输入捕获和输出比较等功能这些功能可以用来测量脉冲宽度、频率和占空比并且可以产生并输出波形等。通过本章的学习读者将学习到通用定时器的基本使用。 本章分为如下几个小节 17.1 硬件设计 17.2 程序设计 17.3 下载验证 17.1 硬件设计 17.1.1 例程功能 程序运行后配置定时器3溢出时间为500毫秒并开启中断在中断服务函数中翻转LED1的状态在主循环中每200毫秒执行一次LED0状态翻转操作 17.1.2 硬件资源LED LED0 - PB5 LED1 - PE5定时器3 17.1.3 原理图 本章实验使用的定时器3为APM32E103的片上资源因此没有对应的连接原理图。 17.2 程序设计 17.2.1 Geehy标准库的TMR驱动 本章实验仅是使用通用定时器3代替上一章中基本定时器6实现通用定时器的一些基本功能具体的原理和使用的Geehy标准库函数都是一样的因此请参考第16.2.1小节中对Geehy标准库中TMR驱动的相关介绍。 17.2.2 通用定时器驱动 本章实验的通用定时器驱动主要负责向应用层提供通用定时器的初始化函数并实现通用定时器的中断回调函数。本章实验中通用定时器驱动的驱动代码包括gtmr.c和gtmr.h两个文件。 通用定时器驱动中对TMR的相关宏定义如下所示 /* 通用定时器定义 */ #define GTMR_TMRX_INT TMR3 #define GTMR_TMRX_INT_IRQn TMR3_IRQn #define GTMR_TMRX_INT_IRQHandler TMR3_IRQHandler #define GTMR_TMRX_INT_CLK_ENABLE() do{ RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_TMR3); }while(0)通用定时器驱动中TMR3的初始化函数如下所示 /*** brief 初始化通用定时器定时中断* note* 通用定时器的时钟来自APB1,当PPRE1 ≥ 2分频的时候* 通用定时器的时钟为APB1时钟的2倍, 而APB1为60M,所以定时器时钟 120Mhz* 定时器溢出时间计算方法: Tout ((arr 1) * (psc 1)) / Ft us.* Ft定时器工作频率,单位:Mhz* param arr: 自动重装值。* param psc: 时钟预分频数。* retval 无*/ void gtmr_tmrx_int_init(uint16_t arr, uint16_t psc) {TMR_BaseConfig_T tmr_init_struct;GTMR_TMRX_INT_CLK_ENABLE(); /* 使能通用定时器时钟 *//* 配置通用定时器 */tmr_init_struct.countMode TMR_COUNTER_MODE_UP; /* 递增计数模式 */tmr_init_struct.clockDivision TMR_CLOCK_DIV_1; /* 时钟分频系数 */tmr_init_struct.period arr; /* 自动装载值 */tmr_init_struct.division psc; /* 设置预分频器 */TMR_ConfigTimeBase(GTMR_TMRX_INT, tmr_init_struct); /* 初始化通用定时器 *//* 使能通用定时器及其相关中断 */NVIC_EnableIRQRequest(GTMR_TMRX_INT_IRQn, 1, 0); /* 抢占1子优先级0 */TMR_EnableInterrupt(GTMR_TMRX_INT, TMR_INT_UPDATE); /* 使能更新中断 */TMR_Enable(GTMR_TMRX_INT); /* 使能通用定时器 */ }从上面的代码中可以看出本实验中对通用定时器TMR3的初始化与上一章实验中对基本定时器TMR6的初始化基本类似不同之处在于通用定时器TMR3可以配置递增计数模式和时钟分频系数。 通用定时器驱动代码中TMR3的中断回调函数也与上一章实验中TMR6的中断回调函数类似如下所示 /*** brief 通用定时器中断服务函数* param 无* retval 无*/ void GTMR_TMRX_INT_IRQHandler(void) {/* 检查通用定时器更新中断是否发生 */if (TMR_ReadIntFlag(GTMR_TMRX_INT, TMR_INT_UPDATE) ! RESET) {TMR_ClearIntFlag(GTMR_TMRX_INT, TMR_INT_UPDATE); /* 清除中断标志位 */LED1_TOGGLE(); /* LED1反转 */} }从上面的代码中可以看出在TMR3每次计数溢出后都会翻转一次LED1的状态。 int main(void) {NVIC_ConfigPriorityGroup(NVIC_PRIORITY_GROUP_4); /* 设置中断优先级分组为组4 */sys_apm32_clock_init(15); /* 配置系统时钟 */delay_init(120); /* 初始化延时功能 */usart_init(115200); /* 初始化串口 */led_init(); /* 初始化LED */gtmr_tmrx_int_init(5000 - 1, 6000 - 1); /* 初始化通用定时器定时中断 */while (1){LED0_TOGGLE(); /* LED0翻转 */delay_ms(200);} }与上一章实验一样TMR3的计数频率为10KHz溢出频率为2Hz因此LED1的闪烁频率也为1Hz。 17.3 下载验证 在完成编译和烧录后可以看到板子上的LED0和LED1都在闪烁但闪烁的频率不同LED0每间隔200毫秒改变一次状态LED1在TMR3的中断回调函数中被改变状态其闪烁的频率约为1Hz。
http://www.pierceye.com/news/505004/

相关文章:

  • 无锡网站推微信公众号文章里好看的图片在哪个网站做
  • 做网站建设费用预算龙岩市建筑设计院
  • 网站做适配多少钱浙江建设厅特种考试查询
  • 简单的网站更新 关键词优化 关键词互联如何做网
  • 重庆网站seo搜索引擎优化网站qq登录 开发
  • 备案号放网站下面居中物流网站制作目的
  • 房产网站排名做情侣网站
  • 营销型网站建设推荐国内团购网站做的最好的是
  • 前端网站建设苏州高新区建设局网站管网
  • 中小企业网站建设中服务器的解决方案是网站建设推广总结
  • 东莞网站建设新闻资讯做赌场网站犯法么
  • wordpress怎么添加单页模版seo价格是多少
  • 网站域名有了_网站如何建设优书网首页
  • 宠物网站建设策划报告Wordpress is文章展示
  • 电子建设网站的目的阿里巴巴网站是用什么技术做的
  • 图形设计网站wordpress微信群多个二维码
  • 网站建设维护是干什么网站用户需求报告
  • 咸宁网站建设公司水网站模板
  • 移动网站开发教材seo网站排名优化价格
  • 重生做网站小说畅想网络网站建设推广
  • 找个做网站的 优帮云wordpress 判断自定义栏目
  • wordpress文章目录分页wordpress加速优化服务
  • 二级目录网站怎么做小程序开发成都公司
  • 网站标题名字和备案名字网站开发 质量管理
  • 网站与系统开发吉安网站建设收费
  • 湖北襄阳网站建设wordpress电商ar
  • 微做网站环保行业网站建设
  • 昭通做网站公司北京手机网站制作多少钱
  • 昆明企业建网站多少钱如何弄微信小程序
  • wordpress清理网站缓存做的比较简约的网站