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

中国旅游预订网站的建设始于哪一年阿里云模板做网站流程

中国旅游预订网站的建设始于哪一年,阿里云模板做网站流程,免费网站推广网址,什么平台引流最快单片机学习#xff01; 目录 文章目录 前言 一、输入捕获测频率配置步骤 二、代码示例及注意事项 2.1 RCC开启时钟 2.2 GPIO初始化 2.3 配置时基单元 2.4 配置输入捕获单元 2.5 选择从模式的触发源 2.6 配置从模式为Reset 2.7 开启定时器 总结 前言 博文介绍如何配置输入捕获电… 单片机学习 目录 文章目录 前言 一、输入捕获测频率配置步骤 二、代码示例及注意事项 2.1 RCC开启时钟 2.2 GPIO初始化 2.3 配置时基单元 2.4 配置输入捕获单元 2.5 选择从模式的触发源 2.6 配置从模式为Reset 2.7 开启定时器 总结 前言 博文介绍如何配置输入捕获电路来测量频率。 一、输入捕获测频率配置步骤 第一步、RCC开启时钟把GPIO和TIM的时钟打开。 第二步、GPIO初始化把GPIO配置成输入模式。一般选择上拉输入或者浮空输入模式。 第三步、配置时基单元让CNT计数器在内部时钟的驱动下自增运行。 第四步、配置输入捕获单元包括滤波器、极性、直连通道还是交叉通道、分频器这些参数。用一个结构体就可以统一进行配置了。 第五步、选择从模式的触发源触发源选择为TI1FP1这里调用一个库函数给一个参数就行。 第六步、选择触发之后执行的操作执行Reset操作这里也是调用一个库函数就行了。 第七步、开启定时器调用TIM_Cmd函数。 按以上步骤配置所有的电路就能配合起来按照需求工作。当需要读取最新一个周期的频率时直接读取CCR寄存器然后按照 fc/N 计算以下就行了。 二、代码示例及注意事项 2.1 RCC开启时钟 将需要的TIM外设和GPIO外设的时钟打开。打开时钟后定时器的基准时钟和整个外设的工作时钟就会同时打开。 代码示例 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使用APB1的开启时钟函数因为TIM3是APB1总线的外设。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);2.2 GPIO初始化 GPIO口可以在引脚定义表中查看 默认复用功能这一列就是片上外设的端口和GPIO的连接关系。可以找到 TIM3的通道1和通道2对应PA6和PA7TIM3的通道3和通道4对应PB0和PB1.本文举例使用TIM3的通道1引脚所以就初始化PA6引脚。 GPIO配置成输入模式选择上拉输入。 代码示例 GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPU;//这里选择上拉输入GPIO_InitStruct.GPIO_Pin GPIO_Pin_6;GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStruct);2.3 配置时基单元 配置时基单元包括时钟源选择的配置。 时基单元选择时钟源。配置时基单元包括预分频器、自动重装器、计数模式等这些参数可用结构体配置。 代码示例 TIM_InternalClockConfig(TIM3);TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_TimeBaseInitStructure.TIM_ClockDivision TIM_CKD_DIV1;//指定时钟分频TIM_TimeBaseInitStructure.TIM_CounterMode TIM_CounterMode_Up;//计数器模式TIM_TimeBaseInitStructure.TIM_Period 65536-1;//ARR自动重装器的值TIM_TimeBaseInitStructure.TIM_Prescaler 72-1;//PSC预分频器的值TIM_TimeBaseInitStructure.TIM_RepetitionCounter 0;//重复计数器的值TIM_TimeBaseInit(TIM3,TIM_TimeBaseInitStructure); 结构体成员 TIM_ClockDivision指定时钟分频用于信号经过滤波器时的滤波采样频率。TIM_CounterMode计数器模式这里选择向上计数模式TIM_CounterMode_Up。TIM_Period ARR自动重装器的值设置大一些防止计数溢出。这里设置65536-1也就是16位的计数器满量程计数。TIM_PrescalerPSC预分频器的值这个值决定了测周法的标准频率fc72M / 预分频就是计数器自增的频率就是计数标准频率。这里给 72-1这样标准频率就是72M / 72 1MHz。TIM_RepetitionCounter重复计数器的值只有高级定时器才有本文初始化通用寄存器所以值给0。 2.4 配置输入捕获单元 代码示例 TIM_ICInitTypeDef TIM_ICInitStructure; TIM_ICInitStructure.TIM_ChannelTIM_Channel_1;//TIM_Channel选择通道 TIM_ICInitStructure.TIM_ICFilter0xF;//TIM_ICFilter用来配置输入捕获的滤波器 TIM_ICInitStructure.TIM_ICPolarityTIM_ICPolarity_Rising;//TIM_ICPolarity极性 TIM_ICInitStructure.TIM_ICPrescalerTIM_ICSelection_DirectTI;//TIM_ICPrescaler分频器 TIM_ICInitStructure.TIM_ICSelectionTIM_ICSelection_DirectTI;//TIM_ICSelection配置数据选择器TIM_ICInit(TIM3,TIM_ICInitStructure);TIM_Channel选择通道因为TIM_ICInit函数只有一个所以要靠结构体的这个参数来指定是配置哪个通道。这里选择通道1. TIM_ICFilter用来配置输入捕获的滤波器如果信号有毛刺和噪声就可以增大滤波器参数可以有效避免干扰。参数的取值范围0x0到0xF之间数越大滤波效果越好每个数值对应的采样频率和采样次数可查看参考手册。 注意滤波器和分频器的区别虽然两者都可以计次但是滤波器计次并不会改变信号的原有频率一般滤波器的采样频率会远高于信号频率所以它只会滤除高频噪声使信号更平滑1KHz滤波之后仍然是1KHz信号频率不会变化。而分频器就是对信号本身进行计次了会改变频率。1KHz2分频之后就是500Hz4分频之后就是250Hz。 TIM_ICPolarity极性这个对应图中边沿检测、极性选择的部分选择上升沿触发还是下降沿触发。这里需要上升沿触发。 TIM_ICPolarity_Rising上升沿触发TIM_ICPolarity_Falling下降沿触发TIM_ICPolarity_BothEdge上升沿下降沿都触发 TIM_ICPrescaler分频器这个参数配置的是对应图中触发信号分频器。不分频就是每次触发都有效二分频就是每隔一次有效一次以此类推。 TIM_ICPSC_DIV1  不分频  TIM_ICPSC_DIV2  二分频       TIM_ICPSC_DIV4  四分频                   TIM_ICPSC_DIV8  八分频                    这个分频值不能任意指定只能选择这4种这里需要每次出发都有效所以选择TIM_ICPSC_DIV1不分频。 TIM_ICSelection选择触发信号从哪个引脚输入这个参数是配置数据选择器的可以选择直连通道或者交叉通道。示例选择了TIM_ICSelection_DirectTI直连通道输入。 TIM_ICSelection_DirectTI直连通道的输入TIM_ICSelection_IndirectTI交叉通道的输入 最后把TIM_ICInitStructure结构体地址放在TIM_ICInit函数里。 2.5 选择从模式的触发源 配置TRGI的触发源为TI1FP1. 代码示例 TIM_SelectInputTrigger(TIM3,TIM_TS_TI1FP1);* arg TIM_TS_ITR0: Internal Trigger 0* arg TIM_TS_ITR1: Internal Trigger 1* arg TIM_TS_ITR2: Internal Trigger 2* arg TIM_TS_ITR3: Internal Trigger 3* arg TIM_TS_TI1F_ED: TI1 Edge Detector* arg TIM_TS_TI1FP1: Filtered Timer Input 1* arg TIM_TS_TI2FP2: Filtered Timer Input 2* arg TIM_TS_ETRF: External Trigger input这里给出的8个可选触发源对应上图触发源选择的8个模式。这里选择TIM_TS_TI1FP1。   2.6 配置从模式为Reset 代码示例 TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Reset);* arg TIM_SlaveMode_Reset: Rising edge of the selected trigger signal (TRGI) re-initializes* the counter and triggers an update of the registers.* arg TIM_SlaveMode_Gated: The counter clock is enabled when the trigger signal (TRGI) is high.* arg TIM_SlaveMode_Trigger: The counter starts at a rising edge of the trigger TRGI.* arg TIM_SlaveMode_External1: Rising edges of the selected trigger (TRGI) clock the counter.这里的4种从模式对应上图中的4种从模式。从模式中还有3个Encoder从模式是给编码器接口用的有其他函数可以配置。 例子中选择Reset这个模式。 2.7 开启定时器 开启定时器调用TIM_Cmd函数。 代码示例 TIM_Cmd(TIM3,ENABLE);启动定时器之后CNT就会在内部时钟的驱动下不断自增。即使信号没有过来它也会不断自增等到有信号来的时候会在从模式的作用下自动清零不会影响测量。 初始化之后整个电路就可以全自动测量了。 总结 以上就是今天要讲的内容本文仅仅简单介绍了输入捕获的配置步骤和注意事项。
http://www.zqtcl.cn/news/138827/

相关文章:

  • 教你免费申请个人网站html网站建设方案
  • 网站运营方案怎么写?在线制作手机网站
  • 微信html5模板网站哪个网站有手机
  • 网站知名度网站广东省备案系统
  • 柯桥区网站建设湖南人文科技学院
  • 建设一个网站需要哪些福田企业网站推广哪个好
  • 网站外链建设的15个小技巧中国农业建设中心网站
  • 交易平台网站怎么做wordpress 置顶 函数
  • 义乌市场官方网站jsp做就业网站
  • 推荐网站在线看兄弟们企业概况简介
  • 软装设计方案网站网站制作排名优化
  • 网站前端模板专业建站报价
  • 站长工具星空传媒怎么做游戏网站编辑
  • 大兴手机网站建设深圳小程序开发公司
  • c 大型网站开发案例电销系统线路
  • 鸿扬家装网站建设谈谈对seo的理解
  • 七米网站建设做网站也分内存大小的吗
  • 丝足网站的建设南宁关键词排名公司
  • 上饶商城网站建设亚马逊海外购官方网
  • 做网站代理商好赚吗高端品牌男鞋有哪些
  • 农产品网站建设及优化项目商务网站建设 视频
  • 北京兼职做网站建设百度app平台
  • 网站建设头部代码网站怎么做咨询
  • 网站运营 网站建设北京公司网站制作要多少钱
  • 郑州看妇科最好的医院是哪里南宁百度seo软件
  • 深圳市住房与建设局实名制网站手机网站打不开被拦截怎么办
  • 公司做网站的价格几千元wordpress 修改页脚
  • 专业网站建设公司在线咨询宁波网站推广公司价格
  • 网站搭建系统都有哪些丽水网站开发
  • 网站设计包含哪些技术外行怎么做网站