资源简介
博文《STM32实战一》~九的源代码,用C++封装了STM32的大部分功能, 无死循环的防抖按键,多用途定时器,100个时间继电器,PWM,ADC,DAC,DMA,中值滤波,平均值滤波,可直接用于工业级控制,主循环周期小于20us。开发环境Keil4.72,CPU型号STM32F103VET6,不同的开发板引脚可能不一样,请注意。
代码片段和文件信息
/******************************************************************************
* @file: core_cm3.c
* @purpose: CMSIS Cortex-M3 Core Peripheral Access layer Source File
* @version: V1.10
* @date: 24. Feb. 2009
*----------------------------------------------------------------------------
*
* Copyright (C) 2009 ARM Limited. All rights reserved.
*
* ARM Limited (ARM) is supplying this software for use with Cortex-Mx
* processor based microcontrollers. This file can be freely distributed
* within development tools that are supporting such ARM based processors.
*
* 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 armcc */
#define __INLINE __inline /*!< inline keyword for armcc */
#elif defined ( __ICCARM__ )
#define __ASM __asm /*!< asm keyword for iarcc */
#define __INLINE inline /*!< inline keyword for iarcc. Only avaiable in High optimization mode! */
#define __nop __no_operation /*!< no operation intrinsic in iarcc */
#elif defined ( __GNUC__ )
#define __ASM asm /*!< asm keyword for gcc */
#define __INLINE inline /*!< inline keyword for gcc */
#endif
#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
/**
* @brief Return the Process Stack Pointer
*
* @param none
* @return uint32_t 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 uint32_t Process Stack Pointer
* @return none
*
* 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
*
* @param none
* @return uint32_t Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
__ASM uint32_t __get_MSP(void)
{
mrs r0 msp
bx lr
}
/**
* @brief Set the Main Stack Pointer
*
* @param uint32_t Main Stack Pointer
* @return none
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
__ASM void __set_MSP(uint32_t mainStackP
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-06 11:56 STM32-AGV\CMSIS\
文件 16249 2019-05-12 10:35 STM32-AGV\CMSIS\core_cm3.c
文件 42077 2019-05-12 10:35 STM32-AGV\CMSIS\core_cm3.h
目录 0 2019-07-06 11:56 STM32-AGV\CMSIS\startup\
文件 15970 2019-06-14 20:31 STM32-AGV\CMSIS\startup\startup_stm32f10x_hd.s
文件 12236 2019-05-12 10:36 STM32-AGV\CMSIS\startup\startup_stm32f10x_ld.s
文件 12564 2019-05-12 10:36 STM32-AGV\CMSIS\startup\startup_stm32f10x_md.s
文件 531052 2019-06-02 16:14 STM32-AGV\CMSIS\stm32f10x.h
文件 24166 2019-05-12 10:35 STM32-AGV\CMSIS\system_stm32f10x.c
文件 2158 2019-05-12 10:35 STM32-AGV\CMSIS\system_stm32f10x.h
目录 0 2019-07-06 11:56 STM32-AGV\FWlib\
目录 0 2019-07-06 11:56 STM32-AGV\FWlib\inc\
文件 4951 2019-05-12 10:36 STM32-AGV\FWlib\inc\misc.h
文件 19558 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_adc.h
文件 7373 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_bkp.h
文件 14289 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_can.h
文件 1980 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_crc.h
文件 10271 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_dac.h
文件 2980 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_dbgmcu.h
文件 18790 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_dma.h
文件 5833 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_exti.h
文件 14446 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_flash.h
文件 17276 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_fsmc.h
文件 15239 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_gpio.h
文件 16923 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_i2c.h
文件 3677 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_iwdg.h
文件 4201 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_pwr.h
文件 16258 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_rcc.h
文件 3659 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_rtc.h
文件 18598 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_sdio.h
文件 14896 2019-05-12 10:36 STM32-AGV\FWlib\inc\stm32f10x_spi.h
............此处省略66个文件信息
- 上一篇:C++传递自定义类型作为参数到Qml
- 下一篇:BP神经网络的c++实现
相关资源
- C语言的嵌入式汇编基本使用.docx(2页
- stm32f103c8t6开发板原理图+pcb
- STM32内部FLASH模拟eerom
- stm32的半导体除湿机程序
- stm32实现高精度频率测定
- stm32库函数代码自动生成器V1.2
- stm32 DMA例程
- stm32蓝牙小车
- 显示屏操作(stm32f103c8t6(SAN))
- 基于STM32f103 PWM波呼吸灯
- STM32红外检测有人开始录音,并播放录
- Proteus 8.6仿真STM32F103C6
- C语言嵌入式Modbus协议栈,支持主站和
- stm32 +w5500 裸机 远程升级 自动dns pi
- stm32双机spi通信
- STM32 PCB封装库 全系列 全网不好找
- 基于STM32F407的W5500 tcpserver(官网例程
- 串口调试助手(测试STM32串口)
- 基于STM32F407ZG的监控摄像头及FATFS文件
- tm1650+stm32f103源码(board_tm1650.c)
- stm32定时器中断
- KEIl操作
- 颜色识别形状识别STM103嵌入式代码
- 基于STM32的音频信号采样与FFT分析
- STM32肺活量测试仪
- 基于STM32F103C8T6主控板使用BH1750检测光
- cubeMX设计实现stm32f407上的CAN及485的通
- stm32 BootLoader程序(main.c)
- STM32修炼的最好书
- STM32 BLDC 无刷电机
评论
共有 条评论