问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问哪位大神有基于STM32的SVPWM控制程序,求小弟我参考一下~~

发布网友 发布时间:2024-10-04 10:02

我来回答

1个回答

热心网友 时间:2024-10-07 09:07

你说的是PWM事件生成吧
void PWM_Init(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); //使能GPIO外设和AFIO复用功能模块时钟使能
//用于TIM3的CH2输出的PWM通过该LED显示

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);

//设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //TIM_CH2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIO_WriteBit(GPIOA, GPIO_Pin_7,Bit_SET); // PA7上拉

TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 80K
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 不分频
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
TIM_OCInitStructure.TIM_Pulse = 0; //设置待装入捕获比较寄存器的脉冲值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高
TIM_OC2Init(TIM3, &TIM_OCInitStructure); //根据TIM_OCInitStruct中指定的参数初始化外设TIMx
TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能TIMx在CCR2上的预装载寄存器

TIM_ARRPreloadConfig(TIM3, ENABLE); //使能TIMx在ARR上的预装载寄存器

TIM_Cmd(TIM3, ENABLE); //使能TIMx外设

}
TIM_SetCompare2(TIM3,led0pwmval);

热心网友 时间:2024-10-07 09:07

你说的是PWM事件生成吧
void PWM_Init(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); //使能GPIO外设和AFIO复用功能模块时钟使能
//用于TIM3的CH2输出的PWM通过该LED显示

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);

//设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //TIM_CH2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIO_WriteBit(GPIOA, GPIO_Pin_7,Bit_SET); // PA7上拉

TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 80K
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 不分频
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
TIM_OCInitStructure.TIM_Pulse = 0; //设置待装入捕获比较寄存器的脉冲值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高
TIM_OC2Init(TIM3, &TIM_OCInitStructure); //根据TIM_OCInitStruct中指定的参数初始化外设TIMx
TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能TIMx在CCR2上的预装载寄存器

TIM_ARRPreloadConfig(TIM3, ENABLE); //使能TIMx在ARR上的预装载寄存器

TIM_Cmd(TIM3, ENABLE); //使能TIMx外设

}
TIM_SetCompare2(TIM3,led0pwmval);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2023年辽宁高考399分能报哪些公办大学 额头有杂音是什么意思啊 ...反应也不是一般的迟钝,胆子还越来越小,叫我的声音稍大就会被吓... 2022天津理工大学各省录取分数线 ...一个是个胖子 一个是个小矮子 一个是个黄头发的男人 一个是个穿... 我是河南理科女今年考了545 报考天津理工大学一本希望大不?二本专业... ...一个是个胖子 一个是个小矮子 一个是个黄头发的男人 还有一个是个... 有个手机游戏 图标就是一个黄头发的人背着弓箭 游戏内容是两个人_百度... 我是男生从小就怕那些动物,比如青蛙,觉得一想青蛙的皮肤就全身鸡皮疙瘩... ...不是昆虫总动员,其中片段是,一群昆虫被青蛙吃进肚子里,它们在里面... 有谁做过服装导购要交身份证复印件又要压身份证的,压三天,当天下班给第... ...拿我身份证复印了一张身份证复印件把身份证复印件留下了这样以后会... 上海闵行区银都路有688弄59号吗? ...会不能使用移动工具因为图层已被锁定ps为什么移动工具不能... 微信聊天里的小视频怎么发不出去 回填土多少钱一立方人工费 ...现在我想把内存加大,请问我最大可以加多大的内存条,pc2 5300是什么... 麻烦帮我看一下我的电脑能加多大的内存条。 高手们能帮我看看这台电脑最高可以支持多大的内存吗?还有为什么第二张图... 智能手机的创新思路 智能手机什么时候出现的谁发明的智能手机诞生的先驱是谁 智能手机的由来 苹果6plus充电器充其他手机有害吗 苹果6plus充电器可以用别的手机吗 2000块存余额宝一天利息多少?存余额宝安全吗? VIVO X21如何开启关闭设置悬浮球 微喇叭裤搭配什么鞋子比较好看? 喇叭裤配什么鞋子? 农村信用社贷款夫妻有一方有房贷逾期还能贷款吗 自己信用卡逾期有不良记录会影响到配偶在农村信用社货款吗 万事达的咖啡机 打开后提示打开右旋扭 然后填充系统 在提示故障三 求大... 咖啡机蒸汽忽大忽小 怎样用硕思闪客精灵把FLASH中的图片导出来 突然右边腰疼的厉害是什么原因 关于闪客精灵导出FLASH文件问题大神们帮帮忙 男性右边腰痛是怎么回事 怎么修改flash那样的游戏 招商银行下载银行对账单和回单指引及银企对账流程 有没有退步三分这个词语? 绝对看不懂的表白密码暗号表白 退步的近义词 怎么才能让鸡蛋从2米高处落下来不碎 英文版MY60T5ERlES数字万用表是什么牌子的,多少钱一台,质量好吗_百度... 十个奥特曼大混战是哪一集 神笔马良、葫芦娃、奥特曼、圣斗士在一起打混战,最后谁会赢? 葫芦娃、奥特曼、超人、蜘蛛侠、小叮当 如果他们混战,最后站着的是谁... 大拇脚趾甲砸肿了里面全是淤血 ,现在淤血消了但是脚趾甲里跟肉分离... ...脚趾甲全淤血了,淤血消失了 肉与脚趾甲分离了,等脚趾甲自动脱离,还 ... ...淤血出来就,现在半个脚趾甲都空了颜色发黄是从根部到中间这一段... ...头充满淤血。前几天把淤血排出去,现在发现脚趾甲和里面