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

外汇网站开发app编辑软件

外汇网站开发,app编辑软件,任意做别的公司网站销售产品违法吗,云南专业网站制作公司1、实验目的 使用定时器 4 通道 3 生成 PWM 波控制 LED1 ,实现呼吸灯效果。 频率:2kHz,PSC71,ARR499 利用定时器溢出公式 周期等于频率的倒数。故Tout 1/2KHZ;Ft 72MHZ PSC71(喜欢设置成Ft的倍数&…

1、实验目的

使用定时器 4 通道 3 生成 PWM 波控制 LED1 ,实现呼吸灯效果。
频率:2kHz,PSC=71,ARR=499

利用定时器溢出公式

 周期等于频率的倒数。故Tout = 1/2KHZ;Ft = 72MHZ

PSC=71(喜欢设置成Ft的倍数),ARR=499

其实PSC与ARR的组合有很多种,上面只是一种

2、实现实验

复制03-流水灯的项目文件夹,重命名为18-呼吸灯

新建文件夹pwm。pwm.c和pwm.h文件

加载文件

 编译

加载定时器的.c文件

 

代码:

main.c

#include "sys.h"
#include "delay.h"
#include "led.h"
#include "pwm.h"int main(void)
{HAL_Init();                         /* 初始化HAL库 */stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */led_init();//初始化led灯pwm_init(72 - 1,500 - 1);uint16_t i = 0;while(1){ //亮度在300ms前使用呼吸灯方式for(i = 0;i<300;i++){pwm_compare_set(i);delay_ms(10);}for(i = 0;i<300;i++){pwm_compare_set(300 - i);delay_ms(10);}}
}

pwm.c

#include "pwm.h"TIM_HandleTypeDef pwm_handle ={0}; //init函数
void pwm_init(uint16_t psc,uint16_t arr)
{TIM_OC_InitTypeDef pwm_config = {0};pwm_handle.Instance = TIM4;  //寄存器时基地址pwm_handle.Init.Prescaler = psc;  //pscpwm_handle.Init.Period = arr;   //arrpwm_handle.Init.CounterMode = TIM_COUNTERMODE_UP;  //计数器模式:向上计数HAL_TIM_PWM_Init(&pwm_handle);pwm_config.OCMode = TIM_OCMODE_PWM1; //定时模式:模式1pwm_config.Pulse = arr/2;//CCR(比较寄存器)的值  :随意指定,因为值还要改 pwm_config.OCPolarity = TIM_OCPOLARITY_LOW;//有效电平:高电平HAL_TIM_PWM_ConfigChannel(&pwm_handle,&pwm_config,TIM_CHANNEL_3);//句柄,pwm配置,通道3HAL_TIM_PWM_Start(&pwm_handle,TIM_CHANNEL_3);
}//msp函数
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
{if(htim->Instance == TIM4){GPIO_InitTypeDef gpio_initstruct;//定义一个结构体gpio_initstruct//打开时钟__HAL_RCC_GPIOB_CLK_ENABLE();__HAL_RCC_TIM4_CLK_ENABLE();//调用GPIO初始化函数gpio_initstruct.Mode = GPIO_MODE_AF_PP;//复式推挽输出gpio_initstruct.Pin = GPIO_PIN_8;//LED1对应的引脚gpio_initstruct.Pull = GPIO_PULLUP;//上拉gpio_initstruct.Speed = GPIO_SPEED_FREQ_HIGH;//速度:高速HAL_GPIO_Init(GPIOB,&gpio_initstruct);//使用中断的时候才使用NVIC
//        HAL_NVIC_SetPendingIRQ(TIM4_IRQn);
//        HAL_NVIC_EnableIRQ(TIM4_IRQn);}
}//修改CCR值的函数void pwm_compare_set(uint16_t val)
{__HAL_TIM_SET_COMPARE(&pwm_handle,TIM_CHANNEL_3,val);//句柄,通道,值
}

pwm.h

#ifndef __PWM_H__
#define __PWM_H__#include "sys.h"void pwm_init(uint16_t psc,uint16_t arr);
void pwm_compare_set(uint16_t val);#endif

http://www.yayakq.cn/news/690490/

相关文章:

  • 网站你懂我意思正能量晚上不用下载直接进入企业管理系统论文
  • 网站悬浮窗广告佛山专业网站建设公司
  • 中山建网站哪家好佛山网站建设怎么做
  • 三只松鼠建设网站前的市场分析免备案 网站加速
  • 怎么做服务器网站建设企业银行手机银行怎么登录
  • 节点网站深圳学历提升
  • 网站页面设计方案怎么写北京百度seo
  • 客户买东西返利网站怎么做营销型网站单页面
  • app公司管理广州短视频seo哪家好
  • 安卓盒子 做网站设计网站 常用
  • 网站如何做聚合页面logo在线制作神器
  • 网站怎么做用什么软件海南网站建站
  • 夜场网站建设移动互联网营销
  • 做计算机网站祭祀网站建设方案
  • 网站地址怎么做超链接东莞网站建设哪家最好
  • 网站用哪种语言用eclipse做网站
  • 为企业做网站还有前途吗wordpress延迟加载插件
  • 电子商务网站建设ppt模板wordpress微信群大全
  • 办公用纸网站建设旅游网站的建设开题报告
  • 潍坊知名网站建设最新报价企业做网站公司怎么样
  • 设计素材网站线上iis默认网站删除
  • 免费的个人简历模板网站wordpress主动推送
  • 三站合一网站建设广州宣传片制作
  • 宣传型网站在wordpress上添加播放视频
  • 如何打击网站深圳品牌做网站公司
  • 仿顺丰优选网站源码福田祥菱箱货
  • 织梦网站站标网站买流量是怎么做的
  • 东莞设计网站企业精神标语
  • 不良网站浏览窗口九江网站建设
  • 电子工厂网站建设宁波北仑做公司网站