文档详情

STM32的TIME1的PWM设置.doc

发布:2017-06-20约字共5页下载文档
文本预览下载声明
/****************************************************************************** 以下程序是参照北航《stm32自学笔记》库函数工程结构以及百度文库中关于Time1的设置编写的,只进行了一个通道的互补PWM设置。通过输出波形验证可见程序设置是正确的。 ********************************************************************************/ /* 头文件 ------------------------------------------------------------------*/ #include stm32f10x_lib.h /* 自定义函数声明 --------------------------------------------------------*/ void RCC_Configuration(void); void GPIO_Configuration(void); void TIM_Configuration(void); /******************************************************************************* * 函数名 : main * 函数描述 : main 函数 * 输入参数 : 无 * 输出结果 : 无 * 返回值 : 无 ****************************************************************************** int main(void) { /* 设置系统时钟 */ RCC_Configuration(); /* 设置 GPIO 端口 */ GPIO_Configuration(); /* 设置 TIM */ TIM_Configuration(); while (1); } /******************************************************************************* * 函数名 : RCC_Configuration * 函数描述 : 设置系统各部分时钟 * 输入参数 : 无 * 输出结果 : 无 * 返回值 : 无 *******************************************************************************/ void RCC_Configuration(void) { /* 定义枚举类型变量 HSEStartUpStatus */ ErrorStatus HSEStartUpStatus; /* 复位系统时钟设置 */ RCC_DeInit(); /* 开启 HSE */ RCC_HSEConfig(RCC_HSE_ON); /* 等待 HSE 起振并稳定 */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); /* 判断 HSE 起是否振成功,是则进入if()内部 */ if(HSEStartUpStatus == SUCCESS) { /* 选择 HCLK(AHB)时钟源为SYSCLK 1分频 */ RCC_HCLKConfig(RCC_SYSCLK_Div1); /* 选择 PCLK2 时钟源为 HCLK(AHB) 1分频 */ RCC_PCLK2Config(RCC_HCLK_Div1); /* 选择 PCLK1 时钟源为 HCLK(AHB) 2分频 */ RCC_PCLK1Config(RCC_HCLK_Div2); /* 设置 FLASH 延时周期数为2 */ FLASH_SetLatency(FLASH_Latency_2); /* 使能 FLASH 预取缓存 */ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /* 选择锁相环(PLL)时钟源为HSE 1分频,倍频数为9,则PLL输出频率为 8MHz * 9 = 72MHz */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); /* 使能 PLL */
显示全部
相似文档