• 大小: 4.28MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-02
  • 语言: 其他
  • 标签: STM32  正弦波  

资源简介

***********所有代码均注释标记意义、功能(内含作者邮箱,可联系)************** 代码目的: 函数发生器要求可输出三种不同的波形(三角波、方波、正弦波(0~3.3V电压)),故需键盘模块控制信号切换;关于过载保护功能,也需要设置相应按键停止/中断系统工作。 程序流程: 程序启动时,OLED、按键和定时器先进行初始化,随后通过判断按键状态选择显示波形种类,OLED屏幕显示波形种类及频率信息,之后通过STM32单片机内部经过特定波形算法计算出电压值,再通过D/A转换成模拟信号,信号输出前体现过载保护功能,先通过按键判断是否需要进行复位中断,复位按键没按下时输出信号。

资源截图

代码片段和文件信息

/**************************************************************************//**
 * @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-04-12 15:52  程序\
     目录           0  2019-04-12 15:52  程序\CORE\
     文件       17273  2010-06-07 10:25  程序\CORE\core_cm3.c
     文件       85714  2011-02-09 14:59  程序\CORE\core_cm3.h
     文件       15503  2011-03-10 10:52  程序\CORE\startup_stm32f10x_hd.s
     文件       12765  2011-03-10 10:52  程序\CORE\startup_stm32f10x_md.s
     目录           0  2019-05-15 15:00  程序\HARDWARE\
     目录           0  2019-05-15 20:12  程序\HARDWARE\DAC\
     文件        1892  2019-05-15 20:12  程序\HARDWARE\DAC\dac.c
     文件         671  2012-09-16 14:13  程序\HARDWARE\DAC\dac.h
     目录           0  2019-05-27 22:25  程序\HARDWARE\Global\
     文件         350  2019-05-27 22:22  程序\HARDWARE\Global\Global.c
     文件         887  2019-05-27 22:25  程序\HARDWARE\Global\Global.h
     目录           0  2019-05-15 20:17  程序\HARDWARE\KEY\
     文件         473  2019-05-15 20:17  程序\HARDWARE\KEY\key.c
     文件         420  2019-05-15 20:17  程序\HARDWARE\KEY\key.h
     目录           0  2019-05-06 14:53  程序\HARDWARE\OLED\
     文件        5586  2014-10-26 21:07  程序\HARDWARE\OLED\bmp.h
     文件        8790  2019-05-06 14:53  程序\HARDWARE\OLED\oled.c
     文件        2588  2019-04-12 19:12  程序\HARDWARE\OLED\oled.h
     文件       16333  2019-04-13 12:16  程序\HARDWARE\OLED\oledfont.h
     目录           0  2019-04-20 16:28  程序\HARDWARE\PWM\
     文件        2376  2019-04-20 12:53  程序\HARDWARE\PWM\pwm.c
     文件         106  2019-04-20 16:28  程序\HARDWARE\PWM\pwm.h
     目录           0  2019-05-15 20:14  程序\HARDWARE\TIMER\
     文件        2840  2019-05-15 20:14  程序\HARDWARE\TIMER\timer.c
     文件         201  2019-04-20 16:28  程序\HARDWARE\TIMER\timer.h
     目录           0  2019-06-11 08:21  程序\OBJ\
     文件          19  2019-04-20 13:53  程序\OBJ\ExtDll.iex
     文件      385240  2019-06-11 08:21  程序\OBJ\OLED.axf
     文件        2297  2019-06-11 08:21  程序\OBJ\OLED.build_log.htm
............此处省略185个文件信息

评论

共有 条评论