资源简介
***********所有代码均注释标记意义、功能(内含作者邮箱,可联系)**************
代码目的:
函数发生器要求可输出三种不同的波形(三角波、方波、正弦波(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
- 下一篇:叮叮书店案列源码
相关资源
- stm32F1++w5500+modbus TCP串口发送数据DMA
- STM32F103 DHT22 程序 完美实现
- STM32f103 物联网OV2640摄像头wifi传送
- STM32读取_电量管理芯片_BQ76930芯片电压
- RC522实现钱包功能
- 运用STM32F407写的FFT,分辨率是1Hz。可
- STM32+超声波传感器HC_RS04+光照传感器
- STM32F103标准库 旋转编码器测速和读取
- STM32F103 TFT屏+SD卡 电子书,目录选择
- STM32 2.0电机库 中文说明文档
- stm32 自动车电磁巡线.rar
- 用stm32硬件I2C和模拟I2C读写EEPROM
- 基于STM32F4系列MCU利用W5500模块实现的
- STM32f103(SPWM)逆变正弦交流50HZ
- 基于物联网的智慧宿舍的设计
- 基于STM32单片机的饮水机水位控制系统
- ADC1118芯片驱动程序
- STM32F407低功耗睡眠模式源码
- STM32CubeIDE 1.5 自动代码补全插件
- 基于STM32F1的粉尘检测系统
- 正点原子基于STM32F103的机智云移植手
- stm32点阵学习含详细代码与原理图
- STM32+UIP+WEB Server
- ov7670摄像头 stm32F4 TFT显示
- stm32 输出PWM波占空比可由串口控制
- TCS230的stm32代码
- STM32智能壁障小车源程序和原理图
- stm32f030c8t6利用RTC唤醒低功耗模式sto
- stm32f4计算器
- pwm呼吸灯实验
评论
共有 条评论