




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32PWM2011-05-05 12:07? ? STM32PWM1RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);2GPIO/* PA2,3,4,5,6-Key_Up,Key_Down,Key_Left,Key_Right,Key_Ctrl */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /50MGPIO_Init(GPIOA, &GPIO_InitStructure);/* PA7PWM, */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;?GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /50MGPIO_Init(GPIOA, &GPIO_InitStructure);3PWMPWMTIM_Configuration()TIM_Cmd(TIM3,ENABLE);/* TIM1 Main Output Enable */TIM_CtrlPWMOutputs(TIM1,ENABLE);PWM? PWMPWM ? ? I/OPWMTIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Disable); if (TIM_GetITStatus(TIM3, TIM_IT_CC2) != RESET)? ? ? ? TIM_ClearITPendingBit(TIM3, TIM_IT_CC2);? capture = TIM_GetCapture2(TIM3);? ? TIM_SetCompare2(TIM3, capture + Key_Value);vu16 CCR1_Val = 32768;vu16 CCR2_Val = 16384;vu16 CCR3_Val = 8192;vu16 CCR4_Val = 4096;void TIM_Configuration(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/* TIM2 clock enable */RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);/* -TIM2 Configuration: Output Compare Toggle Mode:TIM2CLK = 36 MHz, Prescaler = 0x2, TIM2 counter clock = 12 MHzCC1 update rate = TIM2 counter clock / CCR1_Val = 366.2 HzCC2 update rate = TIM2 counter clock / CCR2_Val = 732.4 HzCC3 update rate = TIM2 counter clock / CCR3_Val = 1464.8 HzCC4 update rate = TIM2 counter clock / CCR4_Val = 2929.6 Hz- */* Time base configuration */TIM_TimeBaseStructure.TIM_Period = 65535;? ? ? ?TIM_TimeBaseStructure.TIM_Prescaler = 2;? ? ?TIM_TimeBaseStructure.TIM_ClockDivision = 0;?TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);/* Channel 1 Configuration in PWM mode */TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;? ? ? /PWM2TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; /TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;/TIM_OCInitStructure.TIM_Pulse = CCR1_Val;? ? ? ? /TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;? ? /TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;? ? /TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;TIM_OC1Init(TIM2,&TIM_OCInitStructure);? ? ? ? /1TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Disable);TIM_OCInitStructure.TIM_Pulse = CCR2_Val;? ? ? ? /TIM_OC2Init(TIM2,&TIM_OCInitStructure);? ? ? ? /2TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Disable);TIM_OCInitStructure.TIM_Pulse = CCR3_Val;? ? ? ? /TIM_OC3Init(TIM2,&TIM_OCInitStructure);? ? ? ? /3TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Disable);TIM_OCInitStructure.TIM_Pulse = CCR4_Val;? ? ? ? /TIM_OC4Init(TIM2,&TIM_OCInitStructure);? ? ? ? /4TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Disable);/* TIM2 counter enable */TIM_Cmd(TIM2,ENABLE);/* TIM2 Main Output Enable */TIM_CtrlPWMOutputs(TIM2,ENABLE);? /* TIM IT enable */TIM_ITConfig(TIM2, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE);void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;/*CLOCK,GPIO.STM32,STM32,*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);/* PA2,3,4,5,6,7-LED1,LED2,LED3,LED4,LED5,LED6 */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; /GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /50MGPIO_Init(GPIOA, &GPIO_InitStructure);/* PB0,1-LED7,LED8*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; /GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /50MGPIO_Init(GPIOB, &GPIO_InitStructure);/* PA0,1-KEY_LEFT,KEY_RIGHT*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;? /GPIO_Init(GPIOA, &GPIO_InitStructure);/* PC13-KEY_UP*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;? /GPIO_Init(GPIOC, &GPIO_InitStructure);/* PB5-KEY_DOWN*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;? /GPIO_Init(GPIOB, &GPIO_InitStructure);/* GPIOA Configuration:TIM2 Channel1, 2, 3 and 4 in Output */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);void NVIC_Configuration(void)NVIC_InitTypeDef NVIC_InitStructure;/* Configure one bit for preemption priority */NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);u16 capture = 0;extern vu16 CCR1_Val;extern vu16 CCR2_Val;extern vu16 CCR3_Val;extern vu16 CCR4_Val;void TIM2_IRQHandler(void)/* TIM2_CH1 toggling with frequency = 183.1 Hz */if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)? ? TIM_ClearITPendingBit(TIM2, TIM_IT_CC1 );capture = TIM_GetCapture1(TIM2);TIM_SetCompare1(TIM2, capture + CCR1_Val );/* TIM2_CH2 toggling with frequency = 366.2 Hz */if (TIM_GetITStatus(TIM2, TIM_IT_CC2) != RESET)? ? TIM_ClearITPendingBit(TIM2, TIM_IT_CC2);capture = TIM_GetCapture2(TIM2);? ? TIM_SetCompare2(TIM2, capture + CCR2_Val);/* TIM2_CH3 toggling with frequency = 732.4 Hz */if (TIM_GetITStatus(TIM2, TIM_IT_CC3) != RESET)? ? TIM_ClearITPendingBit(TIM2, TIM_IT_CC3);capture = TIM_GetCapture3(TIM2);? ? TIM_SetCompare3(TIM2, capture + CCR3_Val);/* TIM2_CH4 toggling with frequency = 1464.8 Hz */if (TIM_GetITStatus(TIM2, TIM_IT_CC4) != RESET)? ? TIM_ClearITPendingBit(TIM2, TIM_IT_CC4);capture = TIM_GetCapture4(TIM2);? ? TIM_SetCompare4(TIM2, capture + CCR4_Val);#include stm32libstm32f10x.h#include hal.hvolatile u16 Key_Value=1000;? /PWMint main(void)ChipHalInit();ChipOutHalInit();while(1)? if( (!Get_Key_Up)&(!Get_Key_Down)&(!Get_Key_Left)&(!Get_Key_Right)&(!Get_Key_Ctrl) )? ? ? Key_Value=12000;? ? else? ? ? if(Get_Key_Up)? ? / ,1kHz? ? ? ? Key_Value=6000;? ? ? ? else if(Get_Key_Down)? / ,2kHz? ? ? ? ? Key_Value=3000;? ? ? ? Delay_Ms(20);? ? ? /10ms? ? if(Get_Key_Left)? ? /,3kHz? ? ? ? Key_Value=2000;? ? ? ? else if(Get_Key_Right) /,4kHz? ? ? ? ? Key_Value=1500;? ? ? ? Delay_Ms(20);? ? ? /10ms? ? if(Get_Key_Ctrl)? ? /,5kHz? ? ? ? ? Key_Value=1200;? ? ? ? Delay_Ms(20);? ? ? /10ms? extern volatile u16 Key_Value;u16 capture=0;void TIM3_IRQHandler(void)/* TIM2_CH2 toggling with frequency = 366.2 Hz */if (TIM_GetITStatus(TIM3, TIM_IT_CC2) != RESET)? ? TIM_ClearITPendingBit(TIM3, TIM_IT_CC2);capture = TIM_GetCapture2(TIM3);? ? TIM_SetCompare2(TIM3, capture + Key_Value);void TIM3_Configuration(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/* TIM2 clock enable */RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);/*TIM1*/TIM_TimeBaseStructure.TIM_Prescaler = 5;? ? ? /()72M/6=12MTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;? /TIM_TimeBaseStructure.TIM_Period = 65535;? ? ? ? /TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;TIM_TimeBaseIni
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八月十五超市活动方案
- 公交公司三八节活动方案
- 公交安全年活动方案
- 零售商业贸易行业试题
- 公众号签到活动方案
- 公会各项活动方案
- 基于遥感技术的农业生产监控合作协议
- 公关公司品牌策划方案
- 公关酒店活动方案
- 公司diy七夕活动策划方案
- 日光性角化病的健康宣教
- 2025年八省联考物理试卷答案解析版(云南)
- 个人发展与学习动力的秘密
- 供配电课程设计报告
- 【MOOC】当代社会中的科学与技术-南京大学 中国大学慕课MOOC答案
- 【MOOC】中级财务会计-江西财经大学 中国大学慕课MOOC答案
- 2024年海南省中考物理试卷(附真题答案)
- 3D打印技术与应用知到智慧树期末考试答案题库2024年秋西北工业大学
- 机房动力环境监控系统调试自检报告
- 诗人海子课件
- 美术基础理论知识单选题100道及答案解析
评论
0/150
提交评论