/**
******************************************************************************
* @file system_stm32f10x.c
* @author MCD Application Team
* @version V3.5.0
* @date 11-March-2011
* @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.
*
* 1. This file provides two functions and one global variable to be called from
* user application:
* - SystemInit(): Setups the system clock (System clock source, PLL Multiplier
* factors, AHB/APBx prescalers and Flash settings).
* This function is called at startup just after reset and
* before branch to main program. This call is made inside
* the "startup_stm32f10x_xx.s" file.
*
* - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
* by the user application to setup the SysTick
* timer or configure other parameters.
*
* - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
* be called whenever the core clock is changed
* during program execution.
*
* 2. After each device reset the HSI (8 MHz) is used as system clock source.
* Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to
* configure the system clock before to branch to main program.
*
* 3. If the system clock source selected by user fails to startup, the SystemInit()
* function will do nothing and HSI still used as system clock source. User can
* add some code to deal with this issue inside the SetSysClock() function.
*
* 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on
* the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file.
* When HSE is used as system clock source, directly or through PLL, and you
* are using different crystal you have to adapt the HSE value to your own
* configuration.
*
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
/** @addtogroup CMSIS
* @{
*/
/** @addtogroup stm32f10x_system
* @{
*/
/** @addtogroup STM32F10x_System_Private_Includes
* @{
*/
#include "stm32f10x.h"
/**
* @}
*/
/** @addtogroup STM32F10x_System_Private_TypesDefinitions
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Private_Defines
* @{
*/
/*!< Uncomment the line corresponding to the desired System clock (SYSCLK)
frequency (after reset the HSI is used as SYSCLK source)
IMPORTANT NOTE:
==============
1. After each device reset the HSI is used as System clock source.
2. Please make sure that the selected System clock doesn't exceed your device's
maximum frequency.
3. If none of the define below is enabled, the HSI is used as System clock
source.
4. The System clock configuration functions provided within this file assume that:
- For Low, Medium and High density Value line devices an external 8MHz
crystal is used to drive the System clock.
- For Low, Medium and High density devices an external 8MHz crystal is
used to drive the System clock.
- For Connectivity line devices an external 25MHz crystal is used to drive
the System clock.
If you are using different crystal you have to adapt those functions accordingly.
*/
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
#define SYSCLK_FREQ_24MHz 24000000
#else
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif
/*!< Uncomment the following line if you need to use external SRAM mounted
on STM3210E-EVAL board (STM32 High density and XL-density devices) or on
STM32100E-EVAL board (STM32 High-density value line devices) as data memory */
#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)
/* #define DATA_IN_ExtSRAM */
#endif
/*!< Uncomment the following line if you need to relocate your vector Table in
Internal SRAM. */
/* #define VECT_TAB_SRAM */
#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field.
This value must be a multiple of 0x200. */
/**
* @}
*/
/** @addtogroup STM32F10x_System_Private_Macros
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Private_Variables
* @{
*/
/*******************************************************************************
* Clock Definitions
*******************************************************************************/
#ifdef SYSCLK_FREQ_HSE
uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_24MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_36MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_48MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_56MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_72MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */
#else /*!< HSI Selected as System Clock source */
uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */
#endif
__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
/**
* @}
*/
/** @addtogroup STM32F10x_System_Private_FunctionPrototypes
* @{
*/
static void SetSysClock(void);
#ifdef SYSCLK_FREQ_HSE
static void SetSysClockToHSE(void);
#elif defined SYSCLK_FREQ_24MHz
static void SetSysClockTo24(void);
#elif defined SYSCLK_FREQ_36MHz
static void SetSysClockTo36(void);
#elif defined SYSCLK_FREQ_48MHz
static void SetSysClockTo48(void);
#elif defined SYSCLK_FREQ_56MHz
static void SetSysClockTo56(void);
#elif defined SYSCLK_FREQ_72MHz
static void SetSysClockTo72(void);
#endif
#ifdef DATA_IN_ExtSRAM
static void SystemInit_ExtMemCtl(void);
#endif /* DATA_IN_ExtSRAM */
/**
* @}
*/
/** @addtogroup STM32F10x_System_Private_Functions
* @{
*/
/**
* @brief Setup the microcontroller system
* Initialize the Embedded Flash Interface, the PLL and update the
* SystemCoreClock variable.
* @note This function should be used only after reset.
* @param None
* @retval None
*/
void SystemInit (void)
{
/* Reset the RCC clock configuration to the default reset state(for debug purpose) */
/* Set HSION bit *
没有合适的资源?快使用搜索试试~ 我知道了~
stm32f103vet6外部中断来获取矩阵键盘键值外加可精确到小数点后6位计算器源程序.zip
共69个文件
d:13个
o:12个
h:12个
5星 · 超过95%的资源 需积分: 50 27 下载量 43 浏览量
2019-07-30
19:54:27
上传
评论 6
收藏 1.96MB ZIP 举报
温馨提示
stm32f103vet6外部中断来获取矩阵键盘键值外加可精确到小数点后6位计算器源程序
资源推荐
资源详情
资源评论
收起资源包目录
33.zip (69个子文件)
33
ll.uvguix.jeames 88KB
Objects
stm32f10x_exti.o 301KB
stm32f10x_rcc.o 338KB
delay.o 299KB
lcd12864.o 340KB
system_stm32f10x.o 295KB
stm32f10x_exti.d 2KB
sys.d 1KB
miaobiao.o 328KB
stm32f10x_tim.crf 294KB
stm32f10x_tim.o 426KB
lcd12864.d 2KB
stm32f10x_rcc.crf 279KB
system_stm32f10x.d 2KB
stm32f10x_gpio.d 2KB
ll.lnp 574B
ll.htm 59KB
sys.o 315KB
ll.hex 30KB
stm32f10x_tim.d 2KB
stm32f10x_gpio.o 317KB
miaobiao.d 2KB
sys.crf 282KB
startup_stm32f10x_hd.o 7KB
jisuanqi.d 2KB
stm32f10x_exti.crf 273KB
delay.d 2KB
jisuanqi.crf 295KB
misc.crf 272KB
lcd12864.crf 303KB
stm32f10x_gpio.crf 275KB
ll_Target 1.dep 22KB
jisuanqi.o 309KB
miaobiao.crf 302KB
startup_stm32f10x_hd.d 81B
misc.d 2KB
ll.axf 306KB
stm32f10x_rcc.d 2KB
misc.o 297KB
ll.build_log.htm 4KB
delay.crf 280KB
ll.sct 479B
system_stm32f10x.crf 273KB
miaobiao.c 9KB
LCD12864.h 5KB
jisuanqi.c 3KB
LCD12864.c 16KB
DebugConfig
Target_1_STM32F103VE_1.0.0.dbgconf 7KB
wenzhiku.h 1KB
Listings
ll.map 103KB
startup_stm32f10x_hd.lst 53KB
stm32f103_config.h 7KB
delay.h 3KB
jisuanqi.h 182B
ll.uvguix.d 89KB
sys.h 6KB
ll.uvoptx 8KB
sys.c 16KB
delay.c 8KB
ll.uvprojx 19KB
ascii8x16.h 16KB
RTE
_Target_1
RTE_Components.h 520B
RTE_Components.h 520B
Device
STM32F103VE
RTE_Device.h 63KB
stm32f10x_conf.h 4KB
startup_stm32f10x_hd.s 15KB
system_stm32f10x.c 36KB
计算器.h 140B
ll.uvguix.雷神 84KB
共 69 条
- 1
资源评论
- 泡泡SOHO2023-07-25这个文件提供了一个简洁、高效的计算器功能,让你能够进行精确到小数点后6位的计算,十分方便。
- 宏馨2023-07-25这个源程序使用了外部中断技术,让你能够灵活地处理矩阵键盘的输入,非常实用。
- 禁忌的爱2023-07-25这个文件提供了一个非常有用的源程序,可以让你轻松获取矩阵键盘的键值,并且精确到小数点后6位,非常方便。
- 设计师马丁2023-07-25这个文件不仅提供了源代码,还包含了详细的使用说明,让你能够快速上手并应用到自己的项目中。
- 滚菩提哦呢2023-07-25文件中的源代码结构清晰,易于阅读和理解,即使对于初学者来说也很友好。
@明天
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功