商丘专业做网站福建微网站建设价格

news/2025/9/24 5:53:51/文章来源:
商丘专业做网站,福建微网站建设价格,百度快照怎么使用,做公众号用什么网站00. 目录 文章目录 00. 目录01. 定时器中断相关API1.1 TIM_InternalClockConfig1.2 TIM_TimeBaseInit1.3 TIM_TimeBaseInitTypeDef1.4 TIM_ClearFlag1.5 TIM_ITConfig1.6 TIM_Cmd1.7 中断服务函数1.8 TIM_ETRClockMode2Config 02. 定时器定时中断接线图03. 定时器定时中断示例0…00. 目录 文章目录 00. 目录01. 定时器中断相关API1.1 TIM_InternalClockConfig1.2 TIM_TimeBaseInit1.3 TIM_TimeBaseInitTypeDef1.4 TIM_ClearFlag1.5 TIM_ITConfig1.6 TIM_Cmd1.7 中断服务函数1.8 TIM_ETRClockMode2Config 02. 定时器定时中断接线图03. 定时器定时中断示例04. 定时器外部时钟接线图05. 定时器外部时钟示例06. 程序下载07. 附录 01. 定时器中断相关API 1.1 TIM_InternalClockConfig /*** brief Configures the TIMx internal Clock* param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15* to select the TIM peripheral.* retval None*/ void TIM_InternalClockConfig(TIM_TypeDef* TIMx) 功能:设置 TIMx 内部时钟 参数:TIMxx 可以是 23 或者 4来选择 TIM 外设 返回值:无 1.2 TIM_TimeBaseInit /*** brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct.* param TIMx: where x can be 1 to 17 to select the TIM peripheral.* param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef* structure that contains the configuration information for the * specified TIM peripheral.* retval None*/ void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) 功能:根据 TIM_TimeBaseInitStruct 中指定的参数初始化 TIMx 的时间基数单位 参数:TIMxx 可以是 23 或者 4来选择 TIM 外设TIMTimeBase_InitStruct指向结构 TIM_TimeBaseInitTypeDef 的指针包含了TIMx 时间基数单位的配置信息 返回值:无 1.3 TIM_TimeBaseInitTypeDef /** * brief TIM Time Base Init structure definition* note This structure is used with all TIMx except for TIM6 and TIM7. */typedef struct {uint16_t TIM_Prescaler; uint16_t TIM_CounterMode; uint16_t TIM_Period; uint16_t TIM_ClockDivision; uint8_t TIM_RepetitionCounter; } TIM_TimeBaseInitTypeDef; TIM_PeriodTIM_Period 设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。它的取值必须在0x0000和0xFFFF之间。 TIM_PrescalerTIM_Prescaler 设置了用来作为 TIMx 时钟频率除数的预分频值。它的取值必须在0x0000和0xFFFF之间。/** defgroup TIM_Counter_Mode * {*/ #define TIM_CounterMode_Up ((uint16_t)0x0000) #define TIM_CounterMode_Down ((uint16_t)0x0010) #define TIM_CounterMode_CenterAligned1 ((uint16_t)0x0020) #define TIM_CounterMode_CenterAligned2 ((uint16_t)0x0040) #define TIM_CounterMode_CenterAligned3 ((uint16_t)0x0060)/** defgroup TIM_Clock_Division_CKD * {*/ #define TIM_CKD_DIV1 ((uint16_t)0x0000) #define TIM_CKD_DIV2 ((uint16_t)0x0100) #define TIM_CKD_DIV4 ((uint16_t)0x0200)TIM_RepetitionCounter 只用在高级定时器中 1.4 TIM_ClearFlag /*** brief Clears the TIMxs pending flags.* param TIMx: where x can be 1 to 17 to select the TIM peripheral.* param TIM_FLAG: specifies the flag bit to clear.* This parameter can be any combination of the following values:* arg TIM_FLAG_Update: TIM update Flag* arg TIM_FLAG_CC1: TIM Capture Compare 1 Flag* arg TIM_FLAG_CC2: TIM Capture Compare 2 Flag* arg TIM_FLAG_CC3: TIM Capture Compare 3 Flag* arg TIM_FLAG_CC4: TIM Capture Compare 4 Flag* arg TIM_FLAG_COM: TIM Commutation Flag* arg TIM_FLAG_Trigger: TIM Trigger Flag* arg TIM_FLAG_Break: TIM Break Flag* arg TIM_FLAG_CC1OF: TIM Capture Compare 1 overcapture Flag* arg TIM_FLAG_CC2OF: TIM Capture Compare 2 overcapture Flag* arg TIM_FLAG_CC3OF: TIM Capture Compare 3 overcapture Flag* arg TIM_FLAG_CC4OF: TIM Capture Compare 4 overcapture Flag* note* - TIM6 and TIM7 can have only one update flag. * - TIM9, TIM12 and TIM15 can have only TIM_FLAG_Update, TIM_FLAG_CC1,* TIM_FLAG_CC2 or TIM_FLAG_Trigger. * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_FLAG_Update or TIM_FLAG_CC1. * - TIM_FLAG_Break is used only with TIM1, TIM8 and TIM15. * - TIM_FLAG_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. * retval None*/ void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG) 功能:清除 TIMx 的待处理标志位 参数:TIMxx 可以是 23 或者 4来选择 TIM 外设TIM_FLAG待清除的 TIM 标志位 返回值:无 1.5 TIM_ITConfig /*** brief Enables or disables the specified TIM interrupts.* param TIMx: where x can be 1 to 17 to select the TIMx peripheral.* param TIM_IT: specifies the TIM interrupts sources to be enabled or disabled.* This parameter can be any combination of the following values:* arg TIM_IT_Update: TIM update Interrupt source* arg TIM_IT_CC1: TIM Capture Compare 1 Interrupt source* arg TIM_IT_CC2: TIM Capture Compare 2 Interrupt source* arg TIM_IT_CC3: TIM Capture Compare 3 Interrupt source* arg TIM_IT_CC4: TIM Capture Compare 4 Interrupt source* arg TIM_IT_COM: TIM Commutation Interrupt source* arg TIM_IT_Trigger: TIM Trigger Interrupt source* arg TIM_IT_Break: TIM Break Interrupt source* note * - TIM6 and TIM7 can only generate an update interrupt.* - TIM9, TIM12 and TIM15 can have only TIM_IT_Update, TIM_IT_CC1,* TIM_IT_CC2 or TIM_IT_Trigger. * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_IT_Update or TIM_IT_CC1. * - TIM_IT_Break is used only with TIM1, TIM8 and TIM15. * - TIM_IT_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. * param NewState: new state of the TIM interrupts.* This parameter can be: ENABLE or DISABLE.* retval None*/ void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState) 功能:使能或者失能指定的 TIM 中断 参数:TIMxx 可以是 23 或者 4来选择 TIM 外设TIM_IT待使能或者失能的 TIM 中断源NewStateTIMx 中断的新状态 返回值:无 1.6 TIM_Cmd /*** brief Enables or disables the specified TIM peripheral.* param TIMx: where x can be 1 to 17 to select the TIMx peripheral.* param NewState: new state of the TIMx peripheral.* This parameter can be: ENABLE or DISABLE.* retval None*/ void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState) 功能:使能或者失能 TIMx 外设 参数:TIMxx 可以是 23 或者 4来选择 TIM 外设NewState: 外设 TIMx 的新状态 返回值:无 1.7 中断服务函数 参考程序 void TIM2_IRQHandler(void) {if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){Num ;TIM_ClearITPendingBit(TIM2, TIM_IT_Update);} }1.8 TIM_ETRClockMode2Config /*** brief Configures the External clock Mode2* param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral.* param TIM_ExtTRGPrescaler: The external Trigger Prescaler.* This parameter can be one of the following values:* arg TIM_ExtTRGPSC_OFF: ETRP Prescaler OFF.* arg TIM_ExtTRGPSC_DIV2: ETRP frequency divided by 2.* arg TIM_ExtTRGPSC_DIV4: ETRP frequency divided by 4.* arg TIM_ExtTRGPSC_DIV8: ETRP frequency divided by 8.* param TIM_ExtTRGPolarity: The external Trigger Polarity.* This parameter can be one of the following values:* arg TIM_ExtTRGPolarity_Inverted: active low or falling edge active.* arg TIM_ExtTRGPolarity_NonInverted: active high or rising edge active.* param ExtTRGFilter: External Trigger Filter.* This parameter must be a value between 0x00 and 0x0F* retval None*/ void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) 功能:配置TIMx外部时钟模式2 参数:TIMxx可以是23或者4来选择TIM外设TIM_ExtTRGPrescaler外部触发预分频TIM_ExtTRGPolarity外部时钟极性 ExtTRGFilter外部触发滤波器。该参数取值在0x0和0xF之间。 返回值:无 02. 定时器定时中断接线图 03. 定时器定时中断示例 timer.h #ifndef __TIMER_H__ #define __TIMER_H__#include stm32f10x.h // Device headervoid timer_init(void);#endif timer.c #include timer.hvoid timer_init(void) {TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;NVIC_InitTypeDef NVIC_InitStruct;//1. 开启时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//2. 开启定时器2内部时钟TIM_InternalClockConfig(TIM2);//3. 初始化定时器TIM_TimeBaseInitStruct.TIM_Period 10000 - 1;TIM_TimeBaseInitStruct.TIM_Prescaler 7200 - 1;TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1;TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up;TIM_TimeBaseInitStruct.TIM_RepetitionCounter 0; //高级定时器使用TIM_TimeBaseInit(TIM2, TIM_TimeBaseInitStruct);//4. 清除中断标志TIM_ClearFlag(TIM2, TIM_FLAG_Update);//5. 使能中断TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//6. 设置NVICNVIC_InitStruct.NVIC_IRQChannel TIM2_IRQn;NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE ;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 1;NVIC_InitStruct.NVIC_IRQChannelSubPriority 1;NVIC_Init(NVIC_InitStruct);//7. 使能定时器TIM_Cmd(TIM2, ENABLE); }main.c #include stm32f10x.h#include delay.h #include oled.h #include timer.hint16_t num;int main(void){ //初始化OLED_Init();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);timer_init();OLED_ShowString(1, 1, num:);while (1){OLED_ShowNum(1, 5, num, 5);}return 0;}void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){num ;TIM_ClearITPendingBit(TIM2, TIM_IT_Update);}}04. 定时器外部时钟接线图 05. 定时器外部时钟示例 timer.h #ifndef __TIMER_H__ #define __TIMER_H__#include stm32f10x.h // Device headervoid timer_init(void);#endif timer.c #include timer.hvoid timer_init(void) {GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;NVIC_InitTypeDef NVIC_InitStruct;//1. 开启时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA, GPIO_InitStructure);//2. 配置TIMx外部时钟模式2 TIM_ETRClockMode2Config(TIM2, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0xf);//3. 初始化定时器TIM_TimeBaseInitStruct.TIM_Period 10 - 1;TIM_TimeBaseInitStruct.TIM_Prescaler 1 - 1;TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1;TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up;TIM_TimeBaseInitStruct.TIM_RepetitionCounter 0; //高级定时器使用TIM_TimeBaseInit(TIM2, TIM_TimeBaseInitStruct);//4. 清除中断标志TIM_ClearFlag(TIM2, TIM_FLAG_Update);//5. 使能中断TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//6. 设置NVICNVIC_InitStruct.NVIC_IRQChannel TIM2_IRQn;NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE ;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 1;NVIC_InitStruct.NVIC_IRQChannelSubPriority 1;NVIC_Init(NVIC_InitStruct);//7. 使能定时器TIM_Cmd(TIM2, ENABLE); } main.c #include stm32f10x.h#include delay.h #include oled.h #include timer.hint16_t num;int main(void){ //初始化OLED_Init();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);timer_init();OLED_ShowString(1, 1, num:);while (1){OLED_ShowNum(1, 5, num, 5);OLED_ShowNum(2, 5, TIM_GetCounter(TIM2), 5);}return 0;}void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){num ;TIM_ClearITPendingBit(TIM2, TIM_IT_Update);}} 06. 程序下载 09-定时器定时中断.rar 10-定时器外部时钟.rar 07. 附录 参考: 【STM32】江科大STM32学习笔记汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子商务网站建设需要学什么软件排版设计模板免费

本文使用素材含代码测试用例等 MATLAB读写excel文件历程含,内含有测试代码资源-CSDN文库 打开文件 使用uigetfile函数过滤非xlsx文件,找到需要读取的文件,首先判断文件是否存在,如果文件不存在,程序直接返回&#x…

三部曲网站建设asp网站免费

esp:扩展栈指针寄存器,是指针寄存器的一种,用于存放函数栈顶指针(栈顶指针) ebp:扩展基址指针寄存器,也被称为帧指针寄存器,用于存放函数栈底指针(栈底指针)。…

茂易网站建设友情链接还有用吗

分片头部(Fragment Header)用于IPv6源节点向目的节点发送一个大于路径MTU的数据报。 一、优势 IPv6 分片头具有多种优势,可提高网络效率,包括减少数据包延迟和减少网络拥塞。使用 IPv6 分片头,数据包在源处而不是中间…

网站后台管理系统进入湖南网站建设哪家有

算法流程 输入:约束决策树生长参数(最大深度,节点最小样本数,可选),训练集(特征值离散或连续,标签离散)。 输出:决策树。 过程:每次选择信息增益…

郑州企业网站建站鞍山千山

安装使用 nginx是一个反向代理服务器,在web开发调试中经常用到,写一个简单的使用说明和总结。 1. 下载 点击官网下载地址 下载对应版本的nginx并解压 2. 配置 在解压的目录下找到conf/nginx.conf文件添加所需监听和代理的server # 项目名称server {liste…

wordpress登录工具推送者seo

Appium环境准备 Mac电脑jdk环境AndroidSDK环境node>8.1.0(最好用最新版本) 安装命令 npm i -g appium安装不成功请检查node 版本是否正确 安装成功命令行输入appium回车查看 安装驱动程序 1、先检查当前驱动情况 通过 appium driver list 进行…

百度网站建设技术wordpress模板导出

大家好啊,我是董董灿。 昨天写了一篇关于分组卷积的文章:分组卷积的思想神了,然后有同学希望多了解下通道洗牌。 我个人感觉,通道洗牌这个算法,或者说这个思想,可以称之为小而精,并且是实际解…

网站开发费入什么科目哪个网站做农产品

使用前提: 项目重构了,旧项目还在线上运行,新项目准备替换线上的旧项目 最终目标: 要实现实时切换新旧项目,保证如果新项目上线后有问题,可以立刻快速的将流量切回旧项目 方案: 关于abtest的基本原理本文不再多说,本文重点是实践,先看图 如上图所示,用户访问的…

北京手机网站开发价格海外购物网站建设

下拉通知栏时发生了什么在某个APP中,发现下拉通知栏的时候,正在播放的视频会暂停,于是有点好奇这段操作是不是在生命周期中实现的。在网上众多关于Activity生命周期的讨论中,很多人认为onPause()和onStop()的区别就是“部分遮挡”…

做名片制作网站有什么新闻采编与制作专业简历

在我之前的文章 “Elasticsearch:如何提高查询性能” 及 “Elasticsearch:提升 Elasticsearch 性能” 里,我详细描述了如何提高搜索的性能。在今天的文章里,我从另外一个视角来描述如何调整搜索的速度。希望对大家有所帮助&#x…

上海网站开发制作网站降权

目标:了解字符集的概念,掌握MySQL数据库存储数据的字符集逻辑以及设置方式 字符集概念 MySQL字符集关系 解决乱码问题 字符集设置原理 1、字符集概念 目标:了解字符集概念,掌握字符集存储和读取的实现原理 概念 字符集:charset或者character set&am…

网站建设制作设计公司使用flash做网站

前言 之前初步体验了 React 的魅力, 又看文档理解了一下 useState 和 useEffect, 目前初步理解的概念是: useState 用来声明在组件中使用并且需要修改的变量 useEffect 用来对 useState 声明的变量进行初始化赋值 可能理解的不太准确, 不过大概差不多是这么个意思. 但是再往后…

深圳市罗湖区住房和建设局网站wordpress前台修改

动态资源分配,主要是spark在运行中可以相对合理的分配资源。 初始申请的资源远超实际需要,减少executor初始申请的资源比实际需要少很多,增多executorSpark运行多个job,这些job所需资源有的多有的少,动态调整executor…

建设网站找哪个公司厦门做商城网站

3.3 VREF/VREF-引脚 VREF和VREF-是STM32中用于提供参考电压的引脚。如下图: VREF引脚可以连接一个单独的外部参考电压,范围在2.0V~VDDA,但不能超过VDDA,否则就超过了模拟器件的最大供电电压。在100引脚的封装中&#…

河间市网站建设公司学装修设计

本篇文章聊聊 Stable Diffusion WebUI 中的核心组件,强壮的人脸图像面部画面修复模型 GFPGAN 相关的事情。 写在前面 本篇文章的主角是开源项目 TencentARC/GFPGAN,和上一篇文章《Stable Diffusion 硬核生存指南:WebUI 中的 CodeFormer》提…

网站 整体架构网址大全电脑版

今天,我们将看到有关此工具的信息,该工具使使用JPA Criteria更加容易。 使用该库的应用程序将在JPA实现中更加简洁,易于使用和可移植。 在本文的结尾,您将找到要下载的源代码。 什么是标准? 当前是创建动态查询的最佳…

莱特币做空国外网站佛山网络科技公司有哪些

CVE-2024-1430 是一个影响 Netgear R7000 路由器的安全漏洞,漏洞来源于该路由器 Web 管理界面的信息泄露问题。攻击者通过访问 /currentsetting.htm 文件,可能泄露敏感信息,如 Wi-Fi 密码等。 在测试和验证 CVE-2024-1430 时,您需…

制作网站的模板下载软件wordpress无法连接数据库

文档讲解:代码随想录 (programmercarl.com) 视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com) LeetCode 300.最长递增子序列 题目链接:300. 最长递增子序列 - 力扣(LeetCode) 解题代码…

创建网站投资多少钱北京网页设计电脑培训

晚上好,我是老杨。 Ping这几个字母,已经深入网工人的骨髓了吧? 把Ping用到工作里,肯定不少人在用,但对Ping的了解和理解是不是足够深,取决了你能在工作里用到什么程度,能让它帮你到什么地步。…

建设银行 福建 招聘网站沈阳 建设工程 招标中心网站

目录 前言 算法原理 姿态估计 2D姿态估计 3D姿态估计 3D形态估计 应用案例