• 大小: 3.34MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-17
  • 语言: 其他
  • 标签: STM32F103  

资源简介

STM32F103的PWM输入捕获例程,适合新手学习 stm32的定时器除了TIM6和TIM7外,其他定时器都可以产生PWM输出。其中高级定时器TIM1和TIM8可以产生多达7路的PWM输出。通用定时器可以产生4路的PWM输出。 (自动装载寄存器 (TIMx_ARR)、计数器寄存器(TIMx_CNT) 、预分频器寄存器 (TIMx_PSC)、捕获/比较寄存器(TIMx_CCR1~4))  捕获/比较寄存器(TIMx_CCR1~4) 此寄存器共有四个,4个寄存器都差不多。 在输出模式下,该寄存器的值与CNT的值比较,根据比较结果产生相应的动作。因此,通过修改这个寄存器的值来控制PWM的输出脉宽。要实现PWM脉冲的占空比可调的原理就是不断改变这个寄存器的值。  捕获/比较使能寄存器(TIMx_CCER) 该寄存器控制着各个输入输出通道的开关,要想PWM从I/O口输出,,对应的为必须设置为‘0’。  捕获/比较模式寄存器(TIMx_CCMR1/2) 该寄存器共有两个。TIMx_CCMR1控制CH1和CH2,另外一个控制CH3和CH4。此寄存器应注意同一个位在输出模式和输入模式下功能是不同的。

资源截图

代码片段和文件信息

/**************************************************************************//**
 * @file     core_cm3.c
 * @brief    CMSIS Cortex-M3 Core Peripheral Access layer Source File
 * @version  V1.30
 * @date     30. October 2009
 *
 * @note
 * Copyright (C) 2009 ARM Limited. All rights reserved.
 *
 * @par
 * ARM Limited (ARM) is supplying this software for use with Cortex-M 
 * processor based microcontrollers.  This file can be freely distributed 
 * within development tools that are supporting such ARM based processors. 
 *
 * @par
 * THIS SOFTWARE IS PROVIDED “AS IS“.  NO WARRANTIES WHETHER EXPRESS IMPLIED
 * OR STATUTORY INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
 * ARM SHALL NOT IN ANY CIRCUMSTANCES BE LIABLE FOR SPECIAL INCIDENTAL OR
 * CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER.
 *
 ******************************************************************************/

#include 

/* define compiler specific symbols */
#if defined ( __CC_ARM   )
  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */

#elif defined ( __ICCARM__ )
  #define __ASM           __asm                                       /*!< asm keyword for IAR Compiler          */
  #define __INLINE        inline                                      /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */

#elif defined   (  __GNUC__  )
  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */

#elif defined   (  __TASKING__  )
  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */

#endif


/* ###################  Compiler specific Intrinsics  ########################### */

#if defined ( __CC_ARM   ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */

/**
 * @brief  Return the Process Stack Pointer
 *
 * @return ProcessStackPointer
 *
 * Return the actual process stack pointer
 */
__ASM uint32_t __get_PSP(void)
{
  mrs r0 psp
  bx lr
}

/**
 * @brief  Set the Process Stack Pointer
 *
 * @param  topOfProcStack  Process Stack Pointer
 *
 * Assign the value ProcessStackPointer to the MSP 
 * (process stack pointer) Cortex processor register
 */
__ASM void __set_PSP(uint32_t topOfProcStack)
{
  msr psp r0
  bx lr
}

/**
 * @brief  Return the Main Stack Pointer
 *
 * @return Main Stack Pointer
 *
 * Return the curren

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-29 19:21  题3 输入捕获\
     目录           0  2016-12-29 19:21  题3 输入捕获\CORE\
     文件       17273  2010-06-07 10:25  题3 输入捕获\CORE\core_cm3.c
     文件       85714  2011-02-09 14:59  题3 输入捕获\CORE\core_cm3.h
     文件       15503  2011-03-10 10:52  题3 输入捕获\CORE\startup_stm32f10x_hd.s
     目录           0  2016-12-29 19:21  题3 输入捕获\HARDWARE\
     目录           0  2016-12-29 20:22  题3 输入捕获\HARDWARE\EXTI\
     文件        1575  2016-12-29 20:22  题3 输入捕获\HARDWARE\EXTI\exti.c
     文件         152  2016-12-28 11:05  题3 输入捕获\HARDWARE\EXTI\exti.h
     目录           0  2016-12-29 20:22  题3 输入捕获\HARDWARE\KEY\
     文件         434  2016-12-29 20:22  题3 输入捕获\HARDWARE\KEY\key.c
     文件        1186  2016-12-29 20:22  题3 输入捕获\HARDWARE\KEY\key.h
     目录           0  2016-12-29 19:21  题3 输入捕获\HARDWARE\LED\
     文件         772  2016-12-25 19:45  题3 输入捕获\HARDWARE\LED\led.c
     文件         638  2012-09-13 09:45  题3 输入捕获\HARDWARE\LED\led.h
     目录           0  2016-12-29 19:58  题3 输入捕获\HARDWARE\TIMER\
     文件       11635  2016-12-29 19:58  题3 输入捕获\HARDWARE\TIMER\timer.c
     文件         394  2016-12-28 13:06  题3 输入捕获\HARDWARE\TIMER\timer.h
     目录           0  2016-12-29 20:22  题3 输入捕获\OBJ\
     文件          19  2016-12-29 19:56  题3 输入捕获\OBJ\ExtDll.iex
     文件      351716  2016-12-29 20:22  题3 输入捕获\OBJ\PWM.axf
     文件        1483  2016-12-29 20:22  题3 输入捕获\OBJ\PWM.build_log.htm
     文件       27387  2016-12-29 20:22  题3 输入捕获\OBJ\PWM.hex
     文件       76499  2016-12-29 20:22  题3 输入捕获\OBJ\PWM.htm
     文件         563  2016-12-29 20:22  题3 输入捕获\OBJ\PWM.lnp
     文件         479  2016-11-08 12:16  题3 输入捕获\OBJ\PWM.sct
     文件       28353  2016-12-29 20:22  题3 输入捕获\OBJ\PWM_PWM.dep
     文件        3942  2016-12-29 19:50  题3 输入捕获\OBJ\core_cm3.crf
     文件         104  2016-12-29 19:50  题3 输入捕获\OBJ\core_cm3.d
     文件       11292  2016-12-29 19:50  题3 输入捕获\OBJ\core_cm3.o
     文件      349955  2016-11-08 12:16  题3 输入捕获\OBJ\delay.crf
............此处省略125个文件信息

评论

共有 条评论