资源简介
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的程序
相关资源
- STM32F103VE_Sonic HC-SR04超声波模块程序
- STM32F103实现步进电机的正反转
- STM32F103驱动ADS1255以及lcd1602
- 基于STM32F103的蓝牙4.0模块控制demo程序
- STM32F103ZE编码器脉冲计数值读取
- stm32f103zet6的NBIOT应用
- 玩转STM32F103+W5500 MQTT
- PCAP685+STM32F103
- 基于STM32F103的半桥、全桥移相PWM控制
- stm32超声波测距程序STM32F103ZET6程序
- 基于STM32F103的最方便的I/O口任意定义
- STM32F103双ADC模式同步采集两通道电压
- STM32F103_SPI驱动nRF24L01
- 基于stm32f103vc的超声波测距
- STM32F103 SX1278通讯程序
- STM32F103C8T6定时器秒表TM1650显示.rar
- ULN2003驱动28BYJ-48步进电机STM32F103库函
- STM32F103串口使用空闲IDLE中断接收不定
- lsm303dlhc Stm32f103 驱动程序
- STM32F103R LCD显示汉字.rar
- stm32f103zet6矩阵键盘(4x4)实现数字密
- STM32F103硬件i2c读取bmp085串口输出
- STM32F103ZET6_USB_自定义BULK
- STM32F103 CAN端口主从收发驱动例程
- STM32F103ZET6+IAP+超级终端
- stm32f103c8t6原理图及PCB
- 开关电源中通过STM32F103 将电压电流显
- 基于STM32F103(C51)芯片的液晶显示屏
- stm32f103c8t6工程模板
- 基于 STM32F103C8T6 的测心跳血氧例程
评论
共有 条评论