资源简介
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个文件信息
- 上一篇:ttju_yj_1754870.zip
- 下一篇:directx的程序
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- STM32F103 串口程序(完整版)
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32F103 CC2500完整驱动(模拟SPI)
- SX1280.rar
- STM32F103C8T6+NRF24l01无线通信
- stm32f103.SchDoc
- STM32F103 USART+DMA
- 基于STM32F103C8单片机的晶联讯电子JL
- STM32F103实现OV7670摄像头显示
- STM32F103VCT6TR - High-density performance lin
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F103启动文件HD;MD
- 基于STM32F103的实时时钟程序,采用D
- STM32F103系列PWM输出应用之纸短情长音
- STM32F103移植FreeModbus实现modbus主机.zi
- 基于STM32F103C8T6的循迹避障小车完成
- 基于STM32+TM1638芯片的共阳极数码管驱
- stm32f103AES加密 cbc模式
- 中国移动 M5310 模组资料 DEMO 例程- S
- STM32F103移植rt-thread
- PCA9685驱动STM32F103
评论
共有 条评论