资源简介
在STM32F103C8T6上输出SPWM波,首先用函数生成一组正弦波数据,然后用定时器1输出PWM波,在定时器2中断中用生成的正弦波数据调整输出PWM的占空比,这样输出的PWM波占空比就安装正弦波的规律变化,在输出PWM波的口外部接上电容,就可以看到输出的方波变成了正弦波。同时外部中断用了检测过零点,在过零点同步输出的正弦波。
代码片段和文件信息
/**************************************************************************//**
* @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 2019-11-29 13:22 TIM_SinWave_Spwm2\
目录 0 2019-11-29 13:14 TIM_SinWave_Spwm2\CORE\
文件 17273 2010-06-07 10:25 TIM_SinWave_Spwm2\CORE\core_cm3.c
文件 85714 2011-02-09 14:59 TIM_SinWave_Spwm2\CORE\core_cm3.h
文件 15503 2011-03-10 10:52 TIM_SinWave_Spwm2\CORE\startup_stm32f10x_hd.s
目录 0 2019-11-29 11:38 TIM_SinWave_Spwm2\HARDWARE\
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\HARDWARE\EXTI\
文件 1347 2019-11-29 09:40 TIM_SinWave_Spwm2\HARDWARE\EXTI\exti.c
文件 90 2019-08-29 17:35 TIM_SinWave_Spwm2\HARDWARE\EXTI\exti.h
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\HARDWARE\LED\
文件 625 2019-11-28 17:06 TIM_SinWave_Spwm2\HARDWARE\LED\led.c
文件 141 2019-11-28 17:06 TIM_SinWave_Spwm2\HARDWARE\LED\led.h
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\HARDWARE\SINE\
文件 2839 2019-11-29 13:02 TIM_SinWave_Spwm2\HARDWARE\SINE\sine.c
文件 280 2019-11-29 13:02 TIM_SinWave_Spwm2\HARDWARE\SINE\sine.h
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\HARDWARE\TIM1\
文件 4783 2019-11-29 09:41 TIM_SinWave_Spwm2\HARDWARE\TIM1\timer1.c
文件 158 2019-09-05 10:02 TIM_SinWave_Spwm2\HARDWARE\TIM1\timer1.h
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\HARDWARE\TIM2\
文件 1461 2019-11-29 09:51 TIM_SinWave_Spwm2\HARDWARE\TIM2\timer2.c
文件 111 2019-09-03 16:16 TIM_SinWave_Spwm2\HARDWARE\TIM2\timer2.h
文件 399 2011-04-23 10:24 TIM_SinWave_Spwm2\keilkilll.bat
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\OBJ\
文件 29420 2019-11-29 13:11 TIM_SinWave_Spwm2\OBJ\LED.hex
文件 21 2018-05-31 15:07 TIM_SinWave_Spwm2\OBJ\LED.hex.asm
文件 1311 2015-03-20 12:33 TIM_SinWave_Spwm2\README.TXT
目录 0 2019-11-29 11:38 TIM_SinWave_Spwm2\STM32F10x_FWLib\
目录 0 2019-11-29 13:15 TIM_SinWave_Spwm2\STM32F10x_FWLib\inc\
文件 8982 2011-03-10 10:47 TIM_SinWave_Spwm2\STM32F10x_FWLib\inc\misc.h
文件 21690 2011-03-10 10:47 TIM_SinWave_Spwm2\STM32F10x_FWLib\inc\stm32f10x_adc.h
文件 7555 2011-03-10 10:47 TIM_SinWave_Spwm2\STM32F10x_FWLib\inc\stm32f10x_bkp.h
............此处省略69个文件信息
- 上一篇:STM32F103 ADC 中断模式 连续转换
- 下一篇:MIMO预编码
相关资源
- STM32F103 ADC 中断模式 连续转换
- stm32f103引脚详图
- stm32控制ch376s例程
- STM32使用HAL库移植freemodbus-v1.6
- stm32 LabVIEW控制开发板LED灯显示
- STM32F103C8T6+1.44寸ST7735TFT LCD彩屏驱动程
-
Jli
nk unlock for F1,解锁F1系列的ARM芯 - f407_mpu6050.rar
- 基于STM32的AD9834驱动
- 基于STM32HAL库的AD9834驱动代码修正.z
- 简单选择排序,输出每趟结果
- STM32Cube之ID加密
- JPEG解码,可以移植到STM32中
- stm32cubemx软件iic读取mpu6050dmp通过串口
- 基于STM32实现的简易电子琴
- STM32F207中文数据手册
- STM32F407W5500
- Flymcu(STM32)
- nRF24LE1与nRF24L01通讯程序
- stm32内部结构图
- STM32 多通道 不同频率 可变频 pwm输出
- 超像素分割软件可调整分割输出数目
- STM32一步一步教你点亮流水灯
- AD9834按键控制输出正弦波、三角波、
- STM32F103ZET6 AD10封装库
- 编程实现算术编码 输入任意字串 输出
- STM32F10x标准固件函数库V3.6.1
- STM32F AT24c02软件驱动程序
- Proteus8.9 仿真STM32407ZGT6系列基础模板
- 74HC595级联输出原理图+程序+仿真prot
评论
共有 条评论