- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SPWM的产生SPWM的产生
关于定时器部分搞了2,3天,主要是想产生spwm波这一块,其他的了解了一下而已。首先我先学习了产生pwm这一部分,然后学习到产生spwm,网上有一个例程是双通道产生互补的spwm,然后我又做了修改单通道产生双极性的spwm波。首先先上双通道互补程序:用的是野火的例程main函数:#define CLI() __set_PRIMASK(1) #define SEI() __set_PRIMASK(0) int main(void){CLI();SEI();TIM34_PWM_Init();while (1){}}bsp_pwm_output.c用户文件void TIM3_PWM_Init(void){TIM34_GPIO_Config();TIM34_Mode_Config();}static void TIM34_GPIO_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3|RCC_APB1Periph_TIM4|RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStructure);}其中,引脚PA6和PA7的复用功能就是TIM3的CH1通道,和CH2通道。所以要开启复用时钟。同时要注意,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。具体见
游客,如果您要查看本帖隐藏内容请回复
,这里TIM3,4为APB1的2倍频后,时钟为72MHZ。static void TIM34_Mode_Config(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_BDTRInitTypeDef TIM_BDTRInitStructure; NVIC_Configuration(); TIM_TimeBaseStructure.TIM_Period = 7199;//产生的spwm波的周期为T=1*7200/72M=100us(10KHz) TIM_TimeBaseStructure.TIM_Prescaler = 0;//设置预分频:不预分频,即为72MHz TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//设置时钟分频系数:不分频(这里用不到) TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//不懂什么意思 TIM_TimeBaseInit(TIM3, TIM_TimeBaseStructure);//初始化定时器3的基础数据 TIM_DeInit(TIM4); //复位TIM4定时器,使之进入初始状态 其功能为复位外设PPP的所有寄存器至缺省值 TIM_TimeBaseStructure.TIM_Period=1; //自动装载寄存器的值 TIM_TimeBaseStructure.TIM_Prescaler= 3599; //时钟预分频数 使TIM4_CLK=20KHz TIM_TimeBaseStructur
您可能关注的文档
- SPA岗位职责SPA岗位职责.doc
- SP2服务详解SP2服务详解.doc
- Spain姓氏Spain姓氏.docx
- SPA项目策划SPA项目策划.doc
- SPA的基础理论知识SPA的基础理论知识.doc
- SPA服务内容SPA服务内容.doc
- SPC名词解释SPC名词解释.doc
- SOHO国际广场”文案SOHO国际广场”文案.doc
- SPC管理办法SPC管理办法.doc
- sopc技术与应用sopc技术与应用.doc
- 2025年中国吉他行业发展监测及投资战略规划研究报告.docx
- 劳动教育必修课课程建设研究.docx
- 2025年中国智能炒菜机行业发展监测及投资战略研究报告.docx
- 中国微光器件行业发展趋势预测及投资战略研究报告.docx
- 2025年美容院高级培训合同.docx
- 中国车载移动电视行业发展监测及投资战略规划研究报告.docx
- 2025年中国互联网+中型货车市场竞争格局分析及投资方向研究报告.docx
- 中国电信运营商IT建设市场发展现状及投资方向研究报告.docx
- 2023-2029年中国收纳柜行业市场发展监测及投资战略咨询报告.docx
- 2025年中国数据中心IT基础设施第三方服务未来发展趋势分析及投资规划建议研究报告.docx
文档评论(0)