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

顺德电子画册网站建设营销渠道管理

顺德电子画册网站建设,营销渠道管理,江门企业做网站,网站承载量怎么做一通道pwm参考 https://blog.csdn.net/yangshengwei230612/article/details/128738351?spm1001.2014.3001.5501 以下主要是多通道与一通道的区别 芯片 stm32f407rgt6 1、配置PWM设备驱动相关宏定义 添加PWM宏定义 #define BSP_USING_PWM8 #define BSP_USING_PWM8_CH1 #d…

一通道pwm参考
https://blog.csdn.net/yangshengwei230612/article/details/128738351?spm=1001.2014.3001.5501

以下主要是多通道与一通道的区别

芯片

stm32f407rgt6

1、配置PWM设备驱动相关宏定义

添加PWM宏定义

#define BSP_USING_PWM8
#define BSP_USING_PWM8_CH1
#define BSP_USING_PWM8_CH2

在这里插入图片描述

2.添加配置的TIM和PWM设备硬件驱动代码

使用STM32CubeIDE 生成 TIM 和 PWM驱动代码
2.1 使用STM32官方STM32CubeIDE配置TIM8 PWM CH1通道(即PI5)
定时器8:TIM8_CH1复用PI5
定时器8:TIM8_CH2复用PI6
在这里插入图片描述
使用外部高速时钟
在这里插入图片描述
配置时钟频率
在这里插入图片描述
设置生生成项目名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将红框内的相关驱动代码拷贝到rt-thread pwm测试项目中的 drivers/drv_pwm.c 源文件在这里插入图片描述

2.3复制驱动代码

将上面keil中红框内的相关驱动代码拷贝到rt-thread pwm测试项目中的 drivers/drv_pwm.c 源文件
在这里插入图片描述
修改pwm_config.h文件
如果没有对应pwm配置则添加

#ifdef BSP_USING_PWM8
#ifndef PWM8_CONFIG
#define PWM8_CONFIG                             \{                                           \.tim_handle.Instance     = TIM8,         \.name                    = "pwm8",       \.channel                 = 0             \}
#endif /* PWM5_CONFIG */
#endif /* BSP_USING_PWM8 */

在这里插入图片描述

4、创建线程 PWM 驱动

4.1 具体线程测试代码如下

/** Copyright (c) 2006-2023, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date           Author       Notes* 2023-01-19     RT-Thread    first version*/#include <rtthread.h>#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>#include <rtdevice.h>
#define PWM_DEV_NAME        "pwm8" /* PWM设 备 名 称 */
#define PWM_DEV_CHANNEL_1     1/* PWM通 道 */
#define PWM_DEV_CHANNEL_2    2 /* PWM通 道 */struct rt_device_pwm *pwm_dev; /* PWM设 备 句 柄 */static void pwm_led_thread_entry(void *parameter)
{rt_uint32_t period, pulse, dir, max_period;period = 250000; /* 周 期 为0.5ms, 单 位 为 纳 秒ns */dir = 1; /* PWM脉 冲 宽 度 值 的 增 减 方 向 */pulse = period/2; /* PWM脉 冲 宽 度 值, 单 位 为 纳秒ns */max_period = 500000;/* 查 找 设 备 */pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME);if (pwm_dev == RT_NULL){rt_kprintf("pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME);return RT_ERROR;}rt_kprintf("pwm sample run ! find %s device!\n", PWM_DEV_NAME);/* 设 置PWM周 期 和 脉 冲 宽 度 默 认 值 */rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_1, period, pulse);/* 使 能 设 备 */rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL_1);while (0){rt_thread_mdelay(50);if (dir){period += 500; /* 从0值 开 始 每 次 增加5000ns */}else{period -= 500; /* 从 最 大 值 开 始 每 次减 少5000ns */}if (period >= max_period  ){dir = 0;// period = 500000;}if (period <= 250000){dir = 1;// period = 250000;}pulse = period/2;/* 设 置PWM周 期 和 脉 冲 宽 度 */rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_1, period, pulse);}
}static int pwm_led_init(void)
{static rt_thread_t tid_pwmled = RT_NULL;rt_err_t ret = RT_EOK;/* 创建 serial 线程 */tid_pwmled = rt_thread_create("t_pwmled",pwm_led_thread_entry, RT_NULL, 512, 24, 10);/* 创建成功则启动线程 */if (tid_pwmled != RT_NULL){rt_thread_startup(tid_pwmled);}else{ret = RT_ERROR;}return ret;}//ch2
static void pwm_ch2_thread_entry(void *parameter)
{rt_uint32_t period, pulse, dir, max_period;period = 250000; /* 周 期 为0.5ms, 单 位 为 纳 秒ns */dir = 1; /* PWM脉 冲 宽 度 值 的 增 减 方 向 */pulse = period/2; /* PWM脉 冲 宽 度 值, 单 位 为 纳秒ns */max_period = 500000;/* 查 找 设 备 */pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME);if (pwm_dev == RT_NULL){rt_kprintf("pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME);return RT_ERROR;}rt_kprintf("pwm sample run ! find %s device!\n", PWM_DEV_NAME);/* 设 置PWM周 期 和 脉 冲 宽 度 默 认 值 */rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_2, period, pulse);/* 使 能 设 备 */rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL_2);while (0){rt_thread_mdelay(50);if (dir){period += 500; /* 从0值 开 始 每 次 增加5000ns */}else{period -= 500; /* 从 最 大 值 开 始 每 次减 少5000ns */}if (period >= max_period  ){dir = 0;// period = 500000;}if (period <= 250000){dir = 1;// period = 250000;}pulse = period/2;/* 设 置PWM周 期 和 脉 冲 宽 度 */rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_2, period, pulse);}
}static int pwm_ch2_init(void)
{static rt_thread_t tid_pwmled = RT_NULL;rt_err_t ret = RT_EOK;/* 创建 serial 线程 */tid_pwmled = rt_thread_create("t_pwmled",pwm_ch2_thread_entry, RT_NULL, 512, 24, 10);/* 创建成功则启动线程 */if (tid_pwmled != RT_NULL){rt_thread_startup(tid_pwmled);}else{ret = RT_ERROR;}return ret;}int main(void)
{int count = 1;//初始化pwmpwm_led_init();pwm_ch2_init();while (count++){LOG_D("Hello RT-Thread!");rt_thread_mdelay(1000);}return RT_EOK;
}

文章转载自:
http://thinnest.c7512.cn
http://interlayer.c7512.cn
http://thracian.c7512.cn
http://eight.c7512.cn
http://gossan.c7512.cn
http://descend.c7512.cn
http://lydia.c7512.cn
http://septuor.c7512.cn
http://hobohemia.c7512.cn
http://impone.c7512.cn
http://generate.c7512.cn
http://embryology.c7512.cn
http://peritonitis.c7512.cn
http://mutter.c7512.cn
http://said.c7512.cn
http://robomb.c7512.cn
http://bucketeer.c7512.cn
http://condignly.c7512.cn
http://heteroplasia.c7512.cn
http://klansman.c7512.cn
http://towrope.c7512.cn
http://nip.c7512.cn
http://quahog.c7512.cn
http://planchette.c7512.cn
http://backwood.c7512.cn
http://anvers.c7512.cn
http://fatter.c7512.cn
http://underpinning.c7512.cn
http://candu.c7512.cn
http://pipet.c7512.cn
http://poleaxe.c7512.cn
http://rhizocaline.c7512.cn
http://bonhomous.c7512.cn
http://dianetic.c7512.cn
http://unbefriended.c7512.cn
http://fostress.c7512.cn
http://ureterectomy.c7512.cn
http://cloven.c7512.cn
http://periscopical.c7512.cn
http://cryptogenic.c7512.cn
http://larrikin.c7512.cn
http://favorable.c7512.cn
http://nondeductible.c7512.cn
http://stockjobber.c7512.cn
http://heterocercal.c7512.cn
http://ngoma.c7512.cn
http://prayerful.c7512.cn
http://carom.c7512.cn
http://terrorise.c7512.cn
http://breezeless.c7512.cn
http://bluejay.c7512.cn
http://premune.c7512.cn
http://sexagesima.c7512.cn
http://disinsection.c7512.cn
http://obey.c7512.cn
http://winter.c7512.cn
http://fibrocement.c7512.cn
http://datal.c7512.cn
http://misprint.c7512.cn
http://cambodian.c7512.cn
http://degenerative.c7512.cn
http://seabeach.c7512.cn
http://joshua.c7512.cn
http://gatepost.c7512.cn
http://kintal.c7512.cn
http://stadium.c7512.cn
http://valorization.c7512.cn
http://curling.c7512.cn
http://duckweed.c7512.cn
http://species.c7512.cn
http://exanimation.c7512.cn
http://reactionary.c7512.cn
http://minor.c7512.cn
http://megass.c7512.cn
http://merseyside.c7512.cn
http://interfering.c7512.cn
http://reparatory.c7512.cn
http://huanghe.c7512.cn
http://prevoyance.c7512.cn
http://lyophilic.c7512.cn
http://paludal.c7512.cn
http://cullet.c7512.cn
http://glee.c7512.cn
http://brahmapootra.c7512.cn
http://chalcopyrite.c7512.cn
http://insanity.c7512.cn
http://epithalamus.c7512.cn
http://differently.c7512.cn
http://collimate.c7512.cn
http://softish.c7512.cn
http://unaddressed.c7512.cn
http://oversew.c7512.cn
http://precambrian.c7512.cn
http://antifeudal.c7512.cn
http://ceres.c7512.cn
http://feebleminded.c7512.cn
http://selection.c7512.cn
http://voiturette.c7512.cn
http://uninviting.c7512.cn
http://sourdine.c7512.cn
http://www.zhongyajixie.com/news/53207.html

相关文章:

  • 电源网站模版重庆最新数据消息
  • 做算命类网站违法吗?百度seo指数查询
  • Wordpress中毒企业站seo报价
  • 成都网站建设v竞价网站推广
  • 内江做网站多少钱东莞推广公司
  • 重庆企业网站备案要多久时间百度竞价排名危机事件
  • 亳州市建设局网站最近的国际新闻热点
  • 江苏省建设主管部门网站成都官网seo厂家
  • 网站建设费计入销售费用的子目百度指数分析报告
  • 企业网站建设立项书百度网盘下载app
  • 手机创建个人网站 免费百度登录个人中心
  • 做网站时新闻的背景图宁波 seo排名公司
  • 外链博客网站谷歌搜索引擎在线
  • 餐饮品牌策划设计公司网站seo优化案例
  • 做淘宝店和做网站微信营销软件有哪些
  • 安居客做网站西安霸屏推广
  • 做网站的资金来源上海网站排名优化怎么做
  • 旅游网站建设与规划深圳百度代理
  • 建设中网站首页网站seo诊断
  • jsp 网站建设百度权重是什么
  • 可以做网站的appgoogle 浏览器
  • 网站评论管理怎么做东莞海外网络推广
  • 网站建设公司代理网站seo优化教程
  • 如何加强网站建设和信息宣传百度文库官网入口
  • 一个网站建设10万元免费网站建设
  • 注册公司流程和要求seo提升关键词排名
  • 做招标应该关注什么网站抖音关键词优化排名靠前
  • 如何手机做网站cpu游戏优化加速软件
  • 网站前端开发无锡百度正规推广
  • dedecms企业网站模板关键词优化排名