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

一个公司网站多少钱帮人管理网站做淘宝客

一个公司网站多少钱,帮人管理网站做淘宝客,石家庄市建设局网站信息公开,医疗器械备案接线图#xff1a; 这里将正极接到PA0引脚上#xff0c;负极接到GND#xff0c;这样就高电平点亮LED#xff0c;低电平熄灭。 占空比越大#xff0c;LED越亮#xff0c;占空比越小#xff0c;LED越暗 PWM初始化配置 输出比较函数介绍#xff1a; 用这四个函数配置输…接线图 这里将正极接到PA0引脚上负极接到GND这样就高电平点亮LED低电平熄灭。 占空比越大LED越亮占空比越小LED越暗 PWM初始化配置 输出比较函数介绍 用这四个函数配置输出比较模式四个函数对应四个输出比较单元这个函数使用结构体初始化输出比较单元的这四个函数很重要需要掌握 void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); 这个是用来输出比较结构体赋一个默认值的 void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct); 功能运行时更改参数的函数 用来配置强制输出模式的如果想要在运行中暂停输出波形并且强制输出高或低电平 可以用下面函数不过用的不多因为强制输出高电平与占空比设置100%是一样的输出低电平与占空比设置0%是一样的。 void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); 这四个函数是用来配置CCR寄存器的预装功能的预装功能就是影子寄存器就是写入的值不会立即生效而是在更新事件才会生效一般不用这些函数 void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); 这四个函数是用来配置快速使能的用的也不多 void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_OC2FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_OC3FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_OC4FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); 在手册里外部事件时清除REF信号有介绍。 void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); 这些是单独设置输出比较的极性的这里带N的就是高级定时器里互补通道的配置OC4没有互补通道所以就没有OC4N的函数 void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); 下面两个是用来单独修改输出使能参数的 void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx); void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN); 选择输出比较模式这个是用来单独更改输出比较模式的函数 void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode); 下面四个是用来单独更改CCR寄存器值的函数这四个函数比较重要我们在运行的时候更改占空比就需要用到这四个函数 void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1); void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2); void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3); void TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4); 这个函数仅高级定时器使用在使用高级定时器输出PWM时需要调用这个函数使能主输出否则PWM将不能正常输出 void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState); 根据结构图配置 1.定义结构体变量 定义GPIO与TIM所需的结构体变量 //-----------------------------定义结构体变量------------------------------TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;//定义TIMBase结构体变量TIM_OCInitTypeDef TIM_OCInitStructure; //定义TIMOC结构体变量GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO结构体变量 //-----------------------------定义结构体变量------------------------------ 2.RCC开启时钟 把我们要用到的TIM外设和GPIO外设的时钟打开 3.配置时基单元 包括前面的时钟源选择、PSC预分频器、CNT计数器、ARR自动重装器 //-----------------------------配置时基单元---------------------------------TIM_TimeBaseInitStructure.TIM_ClockDivision TIM_CKD_DIV1 ; //时钟分频TIM_TimeBaseInitStructure.TIM_CounterMode TIM_CounterMode_Up; //计数器模式 这里选择向上计数TIM_TimeBaseInitStructure.TIM_Period 100 - 1; //周期 就是ARR自动重装器的值TIM_TimeBaseInitStructure.TIM_Prescaler 720 - 1; //是PSC预分频器的值TIM_TimeBaseInitStructure.TIM_RepetitionCounter 0; //重复计数器的值这个是高级寄存器才有的这里不需要用直接给0TIM_TimeBaseInit(TIM2, TIM_TimeBaseInitStructure); //TIM初始化//-----------------------------配置时基单元--------------------------------- 4.配置输出比较单元 里面CCR的值、输出比较模式、极性选择、输出使能这些参数用结构体统一配置 //-----------------------------配置输出比较单元-----------------------------TIM_OCStructInit(TIM_OCInitStructure); //给结构体赋一个初始值因为我们还有其他的变量没有赋值TIM_OCInitStructure.TIM_OCMode TIM_OCMode_PWM1; //设置输出比较模式这里选择PWM模式1TIM_OCInitStructure.TIM_OCPolarity TIM_OCPolarity_High; //设置输出比较的极性这里选择高极性有效电平是高电平时输出高电平 TIM_OCInitStructure.TIM_OutputState TIM_OutputState_Enable; //设置输出使能TIM_OCInitStructure.TIM_Pulse 50; //设置CCR值TIM_OC1Init(TIM2, TIM_OCInitStructure);//-----------------------------配置输出比较单元----------------------------- 5.配置GPIO 把PWM对应的GPIO口初始化为复用推挽输出的配置 //-----------------------------配置GPIO初始化------------------------------GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; //复用推挽输出GPIO_InitStructure.GPIO_Pin GPIO_Pin_0; //配置引脚GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;//速度GPIO_Init(GPIOA,GPIO_InitStructure);//GPIO初始化//-----------------------------配置GPIO初始化------------------------------ 6.运行控制 启动计数器输出PWM TIM_Cmd(TIM2,ENABLE);//启动定时器 配置一个频率为 1KHz占空比为50%的PWM波形 这里的ARR、PSC与CCR决定占空比 公式 CK_PSC为72MHz因为系统时钟频率为72MHz. 功能实现 实现呼吸灯效果需要不断改变占空比的值需要调用 void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1); 函数在运行时不断改变占空比的值。 功能函数 void PWM_SetComPer(uint16_t Compare) { TIM_SetCompare1(TIM2,Compare);}主函数 #include PWM.h int main(void) {LED_Init();OLED_Init();PWM_Init();uint16_t i 0;while(1){for(i 0; i 100; i){PWM_SetComPer(i);Delay_ms(10);}for(i 0; i 100; i){PWM_SetComPer(100-i);Delay_ms(10);}} }
http://www.hkea.cn/news/14405945/

相关文章:

  • 公司做网站 手机 电脑网络空间安全论文
  • 经过开发建设 网站上线了沈阳百度seo
  • 网站的建设与管理自考wordpress多本小说
  • 珠海网站搜索引擎优化官方网站建设的意义
  • 影响网站权重的因素wordpress动漫acg主题
  • 广州制作外贸网站公司简介店面设计图
  • 南京网站公司济南网站建设泰观网络
  • 深圳二维码网站建设wordpress怎么设置搜索显示页面
  • 网站支付方案的设计手机app用什么工具开发
  • 网站建设开题报告设计天津建设工程信息网账号密码
  • 网站建设十大品牌大连哪里做网站
  • 东莞广告网站建设公司注册
  • 流放之路做装备词缀网站招聘网站开发技术维护
  • 招聘网站开发的公司国家城乡与住房建设部网站
  • 业余做网站天津哪家制作网站好
  • 外军网站建设酷家乐软件下载电脑版
  • 北京国家建设部网站首页数据库调用做wordpress
  • 衡阳外贸网站设计注册公司网站如何注册
  • 祭祀网站建设方案wordpress物联网插件
  • html5学习网站广州快速建站哪家服务专业
  • 织梦做的网站如何放在网上网站页面分析作业
  • 苏州策划网站模板建站公司wordpress微信登陆
  • 网站建设人员构成建网站域名注册
  • 北京网站建设厂家深圳易百讯网站建设公司
  • 微网站 文章建设工程合同无效的情形有
  • 专业科技公司网站欣赏电子商务网站建设费用预算
  • 太仓手机网站建设价格展会布置效果图
  • 成都商城网站建设用python做网站前端
  • 如何写网站建设方案书宁夏吴忠市红寺堡建设局网站
  • 宝安公司免费网站建设dz系统怎么做地方网站