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

网站那个做的比较好网站建设优化是干嘛

网站那个做的比较好,网站建设优化是干嘛,为什么做视频网站违法,竞价托管优化公司1什么是编码器接口#xff1f; 编码器接口接受编码器的正交信号#xff0c;根据编码器产生的正交信号脉冲控制CNT的自增和自减#xff0c;从而指示编码器的旋转方向和旋转速度。 每个高级定时器和通用定时器都有一个编码器接口#xff0c;同时正交编码器产生的正交信号分…1什么是编码器接口 编码器接口接受编码器的正交信号根据编码器产生的正交信号脉冲控制CNT的自增和自减从而指示编码器的旋转方向和旋转速度。 每个高级定时器和通用定时器都有一个编码器接口同时正交编码器产生的正交信号分为正转和反转通过两个GPIO口产生的正交信号来决定是正转还是反转。 2.编码器接口基本结构 CNT的自增还是自减受编码器控制输入捕获的前两个通道通过GPIO口连接编码器的A相和B相再通过滤波器和边沿极性选择产生TI1FP1和TI2FP2信号通向编码器接口同时编码器接口根据编码器的旋转方向控制CNT的计数方向编码器正转CNT自增编码器翻转CNT自减。编码器接口相当于使用了一个带有方向选择的外部时钟。 3.通用定时器基本框图 如下图所示我们可以看到TIMx_CH1和TIMx_CH2输入捕获的前两个通道产生TI1FP1和TI2FP2信号通向编码器接口。 4.编码器模块Encoder代码编写 (1).开启RCC时钟包括GPIO和定时器3的时钟。 //1.开启时钟TIM3的时钟线是APB1RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//2.开启GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); (2).配置GPIO把PA6和PA7引脚配置成输入模式PA6为TIM3_CH1通道PA7为TIM3_CH2通道 GPIO_InitTypeDef GPIO_Inistructure;GPIO_Inistructure.GPIO_Mode GPIO_Mode_IPU;//PWM输入设置为上拉输入GPIO_Inistructure.GPIO_Pin GPIO_Pin_6 | GPIO_Pin_7;GPIO_Inistructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_Inistructure);//读取结构体的参数 (3).时基单元初始化。配置预分频器预分频器选择不分频ARR自动重装值给最大只配置CNT即可。 //3.时基单元初始化TIM_TimeBaseInitTypeDef TIM_timBaseInitStructure;TIM_timBaseInitStructure.TIM_ClockDivision TIM_CKD_DIV1;//一分频TIM_timBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up;//向上计数TIM_timBaseInitStructure.TIM_Period65536-1;//ARRTIM_timBaseInitStructure.TIM_Prescaler1-1;//PSC 选择不分频TIM_timBaseInitStructure.TIM_RepetitionCounter0;//重复计数器是高级定时器才有的TIM_TimeBaseInit(TIM3,TIM_timBaseInitStructure); (4).配置输入捕获单元包含滤波器和边沿极性选择 //4.配置输入捕获单元通道一和通道2TIM_ICInitTypeDef TIM_ICInitStructure;TIM_ICStructInit(TIM_ICInitStructure);//结构体初始化TIM_ICInitStructure.TIM_ChannelTIM_Channel_1;//定时器3的通道1TIM_ICInitStructure.TIM_ICFilter0xF;//滤波器TIM_ICInitStructure.TIM_ICPolarity TIM_ICPolarity_Rising;//边沿检测极性选择上升沿触发代表输入波形极性不翻转TIM_ICInit(TIM3,TIM_ICInitStructure);TIM_ICStructInit(TIM_ICInitStructure);//结构体初始化TIM_ICInitStructure.TIM_ChannelTIM_Channel_2;//定时器3的通道2TIM_ICInitStructure.TIM_ICFilter0xF;//滤波器TIM_ICInitStructure.TIM_ICPolarity TIM_ICPolarity_Rising;//边沿检测极性选择上升沿触发代表输入波形极性不翻转TIM_ICInit(TIM3,TIM_ICInitStructure); 5.配置编码器接口A/B相均计数A/B波形输入选择Rising,极性不反转 //5配置编码器接口A/B相均计数A/B波形输入选择Rising,极性不反转TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising); 6. 启动定时器 //6.启动定时器TIM_Cmd(TIM3,ENABLE);7.得到CNT的值 //得到CNT的值 int16_t Encoder_Get(void) {int16_t temp;tempTIM_GetCounter(TIM3);//得到CNT的值TIM_SetCounter(TIM3,0);//将CNT清0return temp; } 5.用TIM2中断函数计数 目的调用TIM2中断函数每产生一个更新事件记一次数即测速。在TIM2产生的中断函数中实现对TIM3编码器产生的正交信号进行计数。 在main.c函数中实现TIM2中断函数的调用在中断函数中实现计数的功能 注中断函数的更新事件的标志位在程序进行完之后要对中断标志位进行清除。 #include stm32f10x.h // Device header #include Delay.h #include OLED.h #include Timer.h #include Encoder.hint16_t Speed; //定义速度变量int main(void) {OLED_Init(); Timer_Init(); //定时器2初始化Encoder_Init(); //编码器初始化/*显示静态字符串*/OLED_ShowString(1, 1, Speed:); while (1){OLED_ShowSignedNum(1, 7, Speed, 5); //不断刷新显示编码器测得的最新速度} }// 函 数TIM2中断函数 void TIM2_IRQHandler(void) {if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET) //判断是否是TIM2的更新事件触发的中断{Speed Encoder_Get(); //每隔固定时间段读取一次编码器计数增量值即为速度值TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除TIM2更新事件的中断标志位//中断标志位必须清除//否则中断将连续不断地触发导致主程序卡死} }
http://www.hkea.cn/news/14479928/

相关文章:

  • 建站论坛网络营销公司排名
  • 网站建设员岗位职责做游戏模型挣钱的网站
  • 网站建设 知识库有做义工的相亲网站吗
  • 栾川网站建设手机优化游戏性能的软件
  • 计算机毕业设计代做网站自定义网站建设
  • 我想做一个网站怎么做的网络营销中的四种方法
  • 淘宝客必须做网站吗wordpress修改主题教程
  • 电子商务网站建设与完整实例wordpress建站教程书推荐
  • 网站不备案支付宝接口网站手机端制作软件
  • 游戏网站建设多少seo关键词优化
  • 如何查看网站是否被黑黑白摄影网站
  • 网站首页引导页 模版重庆网页制作设计
  • 手机网站模板 php做注册任务网站源码
  • asp网站作业下载不用写代码做的网站
  • 网站模板可视化编辑管理信息系统有哪些
  • 做网站伊犁哈萨克自治州js实现网站浮动窗口
  • 杭州哪家公司做网站郑州关键词排名顾问
  • wordpress 网站禁用全屏代码seo哪家强
  • 建设银行官方网站地址资源网站搭建
  • wordpress网站标题自定义西安有哪些好玩的
  • 淘客网站如何建设自己数据库网站广告弹窗代码
  • WordPress情侣网站短连接转换网站开发
  • 网站建设选谋者免费好用的网站管理系统
  • 怎样用jsp做网站福建省住房与城乡建设厅网站
  • 网站制作 文案钦州网站网站建设
  • 成都建站网站模板做响应式网站的流程
  • 查询邮箱注册网站宁夏建设职业技术学院官方网站
  • 深圳做个网站要多少钱小加工厂做网站
  • 一级a做爰片免费网站破解版wordpress文字字幕
  • 一台服务做两个网站吗遂宁门户网站建设先进工作单位