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

合肥网站建设设计公司哪家好教您如何找专业网站制作公司

合肥网站建设设计公司哪家好,教您如何找专业网站制作公司,网站公司简介模板免费下载,o2o网站建设最好公司排名STM32CubeIDE基础学习-定时器PWM实验 文章目录 STM32CubeIDE基础学习-定时器PWM实验前言第1章 硬件介绍第2章 工程配置2.1 基础工程配置部分2.2 生成工程代码部分 第3章 代码编写3.1 查看PWM波3.2 设置单个比较值3.3 呼吸灯 第4章 实验现象总结 前言 在平时单片机开发时#…STM32CubeIDE基础学习-定时器PWM实验 文章目录 STM32CubeIDE基础学习-定时器PWM实验前言第1章 硬件介绍第2章 工程配置2.1 基础工程配置部分2.2 生成工程代码部分 第3章 代码编写3.1 查看PWM波3.2 设置单个比较值3.3 呼吸灯 第4章 实验现象总结 前言 在平时单片机开发时需要用到单片机输出一个固定占空比那么就可以采取PWM脉冲调制技术了。 PWM在STM32的应用中还是比较常用的比较多的设备是需要用PWM来驱动的比如舵机、步进电机等。 STM32CubeIDE基础知识学习回顾 实验目的 学习使用定时器输出PWM功能实现定时器输出占空比从而可以在开发板的LED灯看效果功能。 注意查看本实验现象要要用到示波器工具这个要懂得示波器基础使用才行。 第1章 硬件介绍 LED灯的连接原理图如下 由上图硬件连接原理图可知LED接到主控芯片的PA8引脚上想要看输出的PWM波可以直接选择LED所在的引脚作为定时器输出通道就可以看到具体现象了。 实验过程中用肉眼单纯看PWM的占空比是看不出来的那么需要借助工具才行我查看波形采用正点原子的DS100示波器这个示波器的性能用在本实验是足够了可以查看占空比、周期、时间宽度和占空比对应的电压等。 接着打开芯片数据手册下拉找到PA8引脚所在的位置如下图所示 该PA8引脚所在定时器1的通道1上所以后面配置这个定时器通道输出PWM即可。 当然如果手上有示波器就不一定要选LED所在的输出通道了直接选一个定时器输出通道即可直接用示波器来看输出的波形或占空比也是很方便的。 第2章 工程配置 2.1 基础工程配置部分 本实验采用LED实验的工程作为模板直接在上面添加定时器PWM的功能配置即可。 第一步配置定时器时钟源。 按照标号步骤依次选择即可定时器1使用的是内部时钟源通道1输出。 第二步配置定时器相关参数。 根据定时器公式PSC取7199ARR取99向上计数模式。 第三步配置PWM参数。 采用PWM1模式极性为高电平有效这里参数Pulse的值就是CCRx的值用来设置初始占空比的值在初始化时可以设置也可以不设置让其默认为0这里问题不大后面在实际使用时还是会改变该值的。那么为了查看初始PWM的情况这里就初始化设置为ARR值的一半即初始为50%的占空比。输出比较默认为使能即可。 到此定时器及PWM功能配置完成之后可以看到芯片的PA8引脚被配置为了TIM1_CH1了如下图所示 2.2 生成工程代码部分 配置完功能之后就可以点击生成工程代码了。 可以看到main文件多了一个定时器的初始化函数和tim.c文件如下图所示 进入定时器初始化函数后如下图所示 里面主要是设置定时器相关参数等。 到此检查生成初始化代码部分没有问题后就可以编写完成后面的控制功能代码就可以了。 第3章 代码编写 3.1 查看PWM波 在输出PWM之前需要使能输出通道才可以即使能CC1E位使能之后就可以输出PWM了不然是无法正常输出的。main函数调用使能函数如下图所示 到此前面设置PWM参数时已经设置了Pulse的值为50了那么使能输出通道之后不用写其它代码就可以正常输出一个50%占空比的PWM波了。 下面就用示波器来查看该波形情况效果如下图所示 根据公式计算和结合示波器输出参数可以看到占空比是50%周期是10ms频率100Hz。经过示波器的参数显示分析它们参数一致则说明代码的设置是正确的。 3.2 设置单个比较值 使能初始化正常之后就可以调用函数来设置CCRx的值来设置指定PWM占空比了。 HAL库提供了一个设置比较值函数__HAL_TIM_SET_COMPARE(HANDLE, CHANNEL, COMPARE); 该函数的第一个参数是定时器句柄、第二个是定时器输出通道、第三是比较值。 函数具体定义如下所示 在while循环里面调用该函数然后传入相关参数如下图所示 这里传入100则是占空比为100%了。下面以传入30为例演示 代码片示例如下 /* Infinite loop *//* USER CODE BEGIN WHILE */while (1){__HAL_TIM_SET_COMPARE(htim1, TIM_CHANNEL_1, 30);/* USER CODE END WHILE */}下载代码后示波器检测波形如下图所示 函数比较值传入30即占空比为30%高电平电压为1.07接近1.1了。说明这个函数设置的比较值是没有问题的。 3.3 呼吸灯 能正常独立设置单个比较值之后就可以把该变量设置为实时动态变化的数值按规律递增或递减改变这样就可以实现一个类似呼吸灯的效果了。 代码片示例如下 /* Infinite loop *//* USER CODE BEGIN WHILE */while (1){HAL_Delay(30); /* 控制速度 */if(dir){pwm_val;if(pwm_val 99){dir 0;}}else{pwm_val--;if(pwm_val 0){dir 1;}}__HAL_TIM_SET_COMPARE(htim1, TIM_CHANNEL_1, pwm_val);/* USER CODE END WHILE */}定义局部变量如下图所示 下载代码后就可以看到开发板的LED逐渐变亮再由最亮逐渐变暗了类似呼吸灯效果。要是想要显示呼吸的快慢不一样设置延时参数即可时间越短速度越快。 注意这个比较值最大是100实际测试时发现到80时LED基本可以达到最亮了所以会看到亮的时间会比较长些如果要亮的时间和灭的时间差不多可以设置最大的值限制为80而不用到99了根据实际情况设置即可。 第4章 实验现象 看上面具体内容介绍即可。 总结 定时器输出PWM功能还是比较好玩的能弄懂这个功能的使用可以应用到很多的场景了可以控制输出固定的电压STM32的IO最大输出是3.3v的按照前面的例子来等分就可以得到相应的电压值了。呼吸灯的效果也很有意思类似手机的消息提示了。
http://www.zqtcl.cn/news/136639/

相关文章:

  • 网站定制公司报价wordpress清新模板下载
  • 斗鱼网站开发是用什么语言东莞人才网智通
  • 淘宝上网站建设为啥这么便宜自己如何建设个网站
  • 做网站判多少年滦南网站建设
  • 网站开发难不难学做网站会提供源代码吗
  • 一个学校怎么制作网站阿里云服务器登录
  • 网站建设哪家合适对网站建设服务公司的看法
  • 网站留住访客柳州正规网站建设加盟
  • 网站照片要求现在百度怎么优化排名
  • 国外经典平面设计网站60平米一居室装修价格
  • 网站建设选择题个人游戏网站备案
  • 深圳企业网站制作公司wordpress 自定义插件开发
  • 网站代付系统怎么做iis不能新建网站
  • 廉政网站建设做环保的网站有哪些
  • 做彩票网站违法网站邮箱后台子域名
  • 响应式中文网站模板wordpress 模特模板
  • 专业做影楼招聘网站有哪些中铁建设集团登陆
  • 室内设计工作室网站怎么做前端开发面试会被问到的一些问题
  • 六安网站建设网络服务30分钟seo网站
  • 网站开发难点谁会制作网站
  • 北京通州网站制作公司设计网站中企动力优
  • 网站地图生成器横琴人寿保险公司官网
  • 免费建站网站一级大录像不卡专业团队建设方案
  • 创建网站的目的是什么想自己建个网站
  • 网站开发公司有什么福利龙岩几个县
  • 网站镜像做排名成都网站开发
  • 江西建设推广网站苏州 网站的公司
  • 中山民众网站建设有一个网站专门做民宿
  • 快速建站完整版兰州兼职做网站
  • 西安网站群搭建php网站开发设计