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

如何做网站热力图透明主题wordpress

如何做网站热力图,透明主题wordpress,权威发布图片红字,企业营销策划实训报告STM32定时器之输入捕获总结 OC介绍PWM介绍PWM初始化代码部分开启时钟配置时基单元配置CCR配置GPIO配置复用和重定义功能 开启定时器代码实现 #xff1a;实现呼吸灯 OC介绍 PWM介绍 PWM参数计算 分辨率越细#xff0c;分的分量越精细#xff0c;越稳定#xff0c;假如它为… STM32定时器之输入捕获总结 OC介绍PWM介绍PWM初始化代码部分开启时钟配置时基单元配置CCR配置GPIO配置复用和重定义功能 开启定时器代码实现 实现呼吸灯 OC介绍 PWM介绍 PWM参数计算 分辨率越细分的分量越精细越稳定假如它为1%,则它可使得风扇以1为单位的等级调速。可以从1调到100档位假如它为50%那么只有两个档位。50和 100。 计算 如果我现在想要生成一个 PWM频率为1KHZ占空比可以为任意PWM分辨率为1%则PSC(分频器系数)ARR重装值应改为多少呢 Reso分辨率1%1/100 ,又因为Reso1/ARR1 故而ARR100-199。 PWM频率1k1000 CK_PSC / PSC1* ARR 1 由于CK_PSC在上篇文章中已经介绍为72MHz。 故而 式子 CK_PSC / PSC1* ARR 1PWM频率 变为 72000000 / (PSC 1) *(99 1)1000故而PSC720 -1 PWM初始化代码部分 挨个配置 打通这条路即可 开启时钟配置 //通用定时器TIM2时钟开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//开启GPIO的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//内部时钟配置方便TIM_InternalClockConfig(TIM2);时基单元配置 //配置时基单元TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_TimeBaseInitStructure.TIM_ClockDivisionTIM_CKD_DIV1;TIM_TimeBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up;//向上计数的模式TIM_TimeBaseInitStructure.TIM_Period100 -1;//重装值ARR,根据上面公式计算TIM_TimeBaseInitStructure.TIM_Prescaler720 -1;//psc 根据上面公式计算TIM_TimeBaseInitStructure.TIM_RepetitionCounter0;TIM_TimeBaseInit(TIM2,TIM_TimeBaseInitStructure);CCR配置 //配置CCRTIM_OCInitTypeDef TIM_OCInitStructure;TIM_OCStructInit(TIM_OCInitStructure);//给所有成员变量先赋个初值//下面单独修改通用定时器才用到的成员变量TIM_OCInitStructure.TIM_OCModeTIM_OCMode_PWM1 ;//PWM1模式参考pptP68PWM1模式和PWM2模式的区别TIM_OCInitStructure.TIM_OCPolarityTIM_OCPolarity_High;//CNTCCR时REF置有效电平参考pptP69TIM_OCInitStructure.TIM_OutputStateTIM_OutputState_Enable;//输出使能TIM_OCInitStructure.TIM_Pulse 50;//设置CCR 即输出比较的值 这里随便给个测试占空比50%TIM_OC1Init(TIM2, TIM_OCInitStructure);注意上面用到了TIM_OCStructInit(TIM_OCInitStructure);给所有成员变量赋值这是为什么呢 原因如下 TIM_OCInitStructure.TIM_OCIdleState和TIM_OCInitStructure.TIM_OutputNState: Idle和里面含有N的一般都是高级定时器才用的 我们用到的都是通用定时器,但TIM_OCInitStructure成员里面有我们用不到的例如刚才的TIM_OCInitStructure.TIM_OCIdleState //那如果我们不给未用到的成员赋初值那么后续就会有各种问题。 //这里可以使用TIM_OCStructInit()函数给所有成员给个默认值然后单独再修改通用定时器模块的成员变量的值。 GPIO配置 GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_ModeGPIO_Mode_AF_PP;//复用推挽输出GPIO_InitStructure.GPIO_PinGPIO_Pin_0;//观察引脚图可知引脚定义ppt11页可知GPIO_PA0有引脚复用的CH1GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure); 这里解释下为何复用推挽因为下图来自片上外设一般使用复用功能输出 复用和重定义功能 引脚复用Pin Multiplexing是指单个物理引脚可以根据需要被不同的功能模块使用。在许多现代的微控制器中物理引脚的功能并不是固定的而是可以通过软件配置进行更改这样可以使同一个引脚实现多种功能这就是引脚复用。这种设计可以有效地节省物理引脚提高了系统的灵活性。 重定义功能Alternate Function则是指在引脚复用功能中每个物理引脚可以被分配多种不同的功能这些功能通常是由于同一个引脚在不同的模式下所承担的功能不同而产生的。例如同一个物理引脚在GPIO模式下可以用作普通的数字输入/输出引脚而在UART模式下可以用作串行通信的引脚。在这种情况下这个物理引脚就具有了两种不同的重定义功能。 开启定时器 最后一定要开启定时器 TIM_Cmd(TIM2,ENABLE);//开启定时器如何更改占空比的值 即CCR 使用TIM_SetCompare1函数即可 代码实现 实现呼吸灯 PWM.c c #include stm32f10x.h // Device header /*** brief PWM初始化* param 无* retval 无*/ void PWM_Init(void) {RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//开启GPIO的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//内部时钟配置TIM_InternalClockConfig(TIM2);//配置时基单元TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_TimeBaseInitStructure.TIM_ClockDivisionTIM_CKD_DIV1;TIM_TimeBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up;//向上计数的模式TIM_TimeBaseInitStructure.TIM_Period100 -1;//重装值ARRTIM_TimeBaseInitStructure.TIM_Prescaler7200 -1;//pscTIM_TimeBaseInitStructure.TIM_RepetitionCounter0;TIM_TimeBaseInit(TIM2,TIM_TimeBaseInitStructure);//配置CCRTIM_OCInitTypeDef TIM_OCInitStructure;//TIM_OCInitStructure.TIM_OCIdleState和TIM_OCInitStructure.TIM_OutputNState: Idle和里面含有N的一般都是高级定时器才用的//我们用到的都是通用定时器,但TIM_OCInitStructure成员里面有我们用不到的例如刚才的TIM_OCInitStructure.TIM_OCIdleState//那如果我们不给未用到的成员赋初值那么后续就会有各种问题。//这里可以使用TIM_OCStructInit()函数给所有成员给个默认值然后单独再修改通用定时器模块的成员变量的值。TIM_OCStructInit(TIM_OCInitStructure);//给所有成员变量先赋个初值//下面单独修改通用定时器才用到的成员变量TIM_OCInitStructure.TIM_OCModeTIM_OCMode_PWM1 ;//PWM1模式参考pptP68PWM1模式和PWM2模式的区别TIM_OCInitStructure.TIM_OCPolarityTIM_OCPolarity_High;//CNTCCR时REF置有效电平参考pptP69TIM_OCInitStructure.TIM_OutputStateTIM_OutputState_Enable;//输出使能TIM_OCInitStructure.TIM_Pulse 0;//设置CCR 即输出比较的值 这里随便给个测试后面通过函数TIM_SetCompare1单独更改TIM_OC1Init(TIM2, TIM_OCInitStructure);//GPIO配置GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_ModeGPIO_Mode_AF_PP;//复用推挽输出为何用复用推挽因为ppt20页码GPIO_InitStructure.GPIO_PinGPIO_Pin_0;//观察引脚图可知引脚定义ppt11页可知GPIO_PA0有引脚复用的CH1GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure);TIM_Cmd(TIM2,ENABLE);//开启定时器} /*** brief 设置占空比 * param CompareCCR比较/捕获 占空比 * retval 无*/void PWM_SetCompare1(uint16_t Compare) {TIM_SetCompare1(TIM2,Compare); }main .c #include stm32f10x.h // Device header #include OLED.h #include PWM.h #include Delay.h uint8_t i; int main() {OLED_Init();PWM_Init();while(1){for(i0;i100;i)//逐渐变亮{PWM_SetCompare1(i);Delay_ms(10);}for(i0;i100;i){PWM_SetCompare1(100-i);//逐渐变灭Delay_ms(10);}}}
http://www.zqtcl.cn/news/921648/

相关文章:

  • linux系统网站空间用凡科做网站的费用
  • 如何给别人做网站百度推广助手app
  • 哈市哪里网站做的好新颖的网站策划
  • 网站建设 方案书微信登录wordpress免费
  • 兰州网站建设企业名录洛可可设计公司估值
  • 广州做网站地方兰州做网站的公司有哪些
  • 招标网站哪个好适合学生做网站的图片
  • 台州seo网站排名优化外包服务公司
  • 汉川网站推广服务网页站点不安全
  • wdcp网站搬家嘉兴做网站优化的公司
  • 网站规划和建设度假区网站建设方案
  • 做网站前端用什么软件好在线种子资源网
  • 怎样修改网站关键词昌平做网站的公司
  • 网站建设调研文档网站最下面版权模板
  • 建外贸网站有效果吗开发电商平台需要多少钱
  • 成都网站建设维护网页制作价格私活
  • 建设银行网站登陆不上做本地的分类信息网站
  • 公司网站建设哪里实惠网页设计作业百度网盘
  • 如何seo网站挣钱不同企业的网络营销网站
  • 自己做网站有什么用网站怎样设计网址
  • 做任务的网站有那些wordpress链接在哪里
  • 免费建站模板网站招聘网站哪个好
  • 网站建站推广是啥意思高端网站建设浩森宇特
  • 长治电子商务网站建设中国建设银行总行官方网站
  • 整站营销系统厚街镇网站仿做
  • 舆情分析网站wordpress文章聚合
  • 中国建设银行网站在哪上市cpa自己做网站
  • 网站建设服务支持jquery插件 wordpress
  • 最有效的100个营销方法seo工作室
  • wordpress o2o主题嘉兴网站优化联系方式