资源简介
***********所有代码均注释标记意义、功能(内含作者邮箱,可联系)**************
代码目的:
函数发生器要求可输出三种不同的波形(三角波、方波、正弦波(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个文件信息
- 上一篇:IDM6.31build2.rar
- 下一篇:叮叮书店案列源码
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 一个labview仿真的函数信号发生器.vi
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- 简单函数发生器,能产生常见的三种
- stm32 用SPI 方式读写 SDHC
- VHDL带分频功能的函数发生器实现六种
- stm32通过DMA方式采集ADC数据
评论
共有 条评论