/**
******************************************************************************
* @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 *
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
STM32+ESP8266通过MQTT协议连接阿里云,移植paho MQTT协议库,实现温度上传到阿里云平台、手机APP可实时查看温度数据,CSDN教程地址:https://blog.csdn.net/qq_44062900/article/details/116385135
资源推荐
资源详情
资源评论
收起资源包目录
STM32+ESP8266+MQTT连接阿里云 (移植pahoMQTT库).zip (152个子文件)
STM32F103C8_MD.uvguix.Administrator 92KB
STM32F103C8_MD.axf 324KB
STM32F103C8_MD_sct.Bak 479B
system_stm32f10x.c 36KB
core_cm3.c 17KB
MQTTPacket.c 10KB
oledfont.c 9KB
MQTTFormat.c 8KB
esp8266.c 8KB
MQTTConnectClient.c 6KB
MQTTSerializePublish.c 5KB
rtc.c 5KB
MQTTConnectServer.c 5KB
oled.c 4KB
usart.c 4KB
MQTTSubscribeClient.c 4KB
aliyun_mqtt.c 4KB
MQTTDeserializePublish.c 3KB
MQTTSubscribeServer.c 3KB
MQTTUnsubscribeClient.c 3KB
MQTTUnsubscribeServer.c 3KB
ds18b20.c 2KB
main.c 2KB
timer.c 2KB
transport.c 1KB
delay.c 1KB
led.c 986B
sys.c 833B
key.c 565B
beep.c 191B
aliyun_mqtt.crf 237KB
main.crf 233KB
timer.crf 230KB
esp8266.crf 228KB
transport.crf 224KB
rtc.crf 224KB
usart.crf 223KB
ds18b20.crf 223KB
oled.crf 219KB
system_stm32f10x.crf 217KB
led.crf 217KB
key.crf 216KB
adc.crf 216KB
beep.crf 216KB
sys.crf 216KB
delay.crf 216KB
mqttpacket.crf 20KB
mqttformat.crf 19KB
mqttconnectclient.crf 19KB
mqttserializepublish.crf 19KB
mqttconnectserver.crf 18KB
mqttsubscribeclient.crf 18KB
mqttdeserializepublish.crf 18KB
mqttsubscribeserver.crf 18KB
mqttunsubscribeclient.crf 18KB
mqttunsubscribeserver.crf 18KB
core_cm3.crf 4KB
oledfont.crf 180B
aliyun_mqtt.d 1KB
main.d 929B
mqttdeserializepublish.d 770B
mqttunsubscribeclient.d 758B
mqttunsubscribeserver.d 758B
mqttserializepublish.d 746B
mqttsubscribeclient.d 734B
mqttsubscribeserver.d 734B
mqttconnectclient.d 710B
mqttconnectserver.d 710B
esp8266.d 658B
timer.d 651B
transport.d 636B
mqttpacket.d 626B
mqttformat.d 626B
ds18b20.d 505B
rtc.d 489B
usart.d 429B
oled.d 357B
led.d 345B
key.d 345B
beep.d 314B
system_stm32f10x.d 301B
delay.d 285B
adc.d 265B
sys.d 265B
core_cm3.d 112B
startup_stm32f10x_md.d 68B
oledfont.d 49B
Target_1_STM32F103C8_1.0.0.dbgconf 2KB
STM32F103C8_MD_Target 1.dep 25KB
stm32f10x.h 619KB
core_cm3.h 84KB
MQTTConnect.h 4KB
sys.h 4KB
MQTTPacket.h 4KB
StackTrace.h 3KB
system_stm32f10x.h 2KB
MQTTFormat.h 2KB
MQTTPublish.h 2KB
MQTTSubscribe.h 2KB
MQTTUnsubscribe.h 1KB
共 152 条
- 1
- 2
Fog.
- 粉丝: 174
- 资源: 12
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页