在stm32f10x的3.5固件库中stm32f10x.h有以下代码(第478行开始):

/*** @}*/#include "core_cm3.h"
#include "system_stm32f10x.h"
#include <stdint.h>/** @addtogroup Exported_types* @{*/  /*!< STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */
typedef int32_t  s32;
typedef int16_t s16;
typedef int8_t  s8;typedef const int32_t sc32;  /*!< Read Only */
typedef const int16_t sc16;  /*!< Read Only */
typedef const int8_t sc8;   /*!< Read Only */typedef __IO int32_t  vs32;
typedef __IO int16_t  vs16;
typedef __IO int8_t   vs8;typedef __I int32_t vsc32;  /*!< Read Only */
typedef __I int16_t vsc16;  /*!< Read Only */
typedef __I int8_t vsc8;   /*!< Read Only */typedef uint32_t  u32;
typedef uint16_t u16;
typedef uint8_t  u8;typedef const uint32_t uc32;  /*!< Read Only */
typedef const uint16_t uc16;  /*!< Read Only */
typedef const uint8_t uc8;   /*!< Read Only */typedef __IO uint32_t  vu32;
typedef __IO uint16_t vu16;
typedef __IO uint8_t  vu8;typedef __I uint32_t vuc32;  /*!< Read Only */
typedef __I uint16_t vuc16;  /*!< Read Only */
typedef __I uint8_t vuc8;   /*!< Read Only */typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;/*!< STM32F10x Standard Peripheral Library old definitions (maintained for legacy purpose) */
#define HSEStartUp_TimeOut   HSE_STARTUP_TIMEOUT
#define HSE_Value            HSE_VALUE
#define HSI_Value            HSI_VALUE
/*** @}*/

在stm32f10x的2.0.2固件库stm32f10x_type.h中有以下代码:

/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : stm32f10x_type.h
* Author             : MCD Application Team
* Version            : V2.0.2
* Date               : 07/11/2008
* Description        : This file contains all the common data types used for the
*                      STM32F10x firmware library.
********************************************************************************
* 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.
*******************************************************************************//* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F10x_TYPE_H
#define __STM32F10x_TYPE_H/* Includes ------------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
typedef signed long  s32;
typedef signed short s16;
typedef signed char  s8;typedef signed long  const sc32;  /* Read Only */
typedef signed short const sc16;  /* Read Only */
typedef signed char  const sc8;   /* Read Only */typedef volatile signed long  vs32;
typedef volatile signed short vs16;
typedef volatile signed char  vs8;typedef volatile signed long  const vsc32;  /* Read Only */
typedef volatile signed short const vsc16;  /* Read Only */
typedef volatile signed char  const vsc8;   /* Read Only */typedef unsigned long  u32;
typedef unsigned short u16;
typedef unsigned char  u8;typedef unsigned long  const uc32;  /* Read Only */
typedef unsigned short const uc16;  /* Read Only */
typedef unsigned char  const uc8;   /* Read Only */typedef volatile unsigned long  vu32;
typedef volatile unsigned short vu16;
typedef volatile unsigned char  vu8;typedef volatile unsigned long  const vuc32;  /* Read Only */
typedef volatile unsigned short const vuc16;  /* Read Only */
typedef volatile unsigned char  const vuc8;   /* Read Only */typedef enum {FALSE = 0, TRUE = !FALSE} bool;typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;#define U8_MAX     ((u8)255)
#define S8_MAX     ((s8)127)
#define S8_MIN     ((s8)-128)
#define U16_MAX    ((u16)65535u)
#define S16_MAX    ((s16)32767)
#define S16_MIN    ((s16)-32768)
#define U32_MAX    ((u32)4294967295uL)
#define S32_MAX    ((s32)2147483647)
#define S32_MIN    ((s32)-2147483648)/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */#endif /* __STM32F10x_TYPE_H *//******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/

所以在3.0以后的库中,不再含有stm32f10x_type.h文件了,也不需要了

#include <stdint.h>代码如下:

/* Copyright (C) ARM Ltd., 1999 */
/* All rights reserved *//** RCS $Revision: 178085 $* Checkin $Date: 2012-12-11 14:54:17 +0000 (Tue, 11 Dec 2012) $* Revising $Author: agrant $*/#ifndef __stdint_h
#define __stdint_h
#define __ARMCLIB_VERSION 5030076#ifndef __STDINT_DECLS#define __STDINT_DECLS#undef __CLIBNS#ifdef __cplusplusnamespace std {#define __CLIBNS std::extern "C" {#else#define __CLIBNS#endif  /* __cplusplus *//** 'signed' is redundant below, except for 'signed char' and if* the typedef is used to declare a bitfield.* '__int64' is used instead of 'long long' so that this header* can be used in --strict mode.*//* 7.18.1.1 *//* exact-width signed integer types */
typedef   signed          char int8_t;
typedef   signed short     int int16_t;
typedef   signed           int int32_t;
typedef   signed       __int64 int64_t;/* exact-width unsigned integer types */
typedef unsigned          char uint8_t;
typedef unsigned short     int uint16_t;
typedef unsigned           int uint32_t;
typedef unsigned       __int64 uint64_t;/* 7.18.1.2 *//* smallest type of at least n bits *//* minimum-width signed integer types */
typedef   signed          char int_least8_t;
typedef   signed short     int int_least16_t;
typedef   signed           int int_least32_t;
typedef   signed       __int64 int_least64_t;/* minimum-width unsigned integer types */
typedef unsigned          char uint_least8_t;
typedef unsigned short     int uint_least16_t;
typedef unsigned           int uint_least32_t;
typedef unsigned       __int64 uint_least64_t;/* 7.18.1.3 *//* fastest minimum-width signed integer types */
typedef   signed           int int_fast8_t;
typedef   signed           int int_fast16_t;
typedef   signed           int int_fast32_t;
typedef   signed       __int64 int_fast64_t;/* fastest minimum-width unsigned integer types */
typedef unsigned           int uint_fast8_t;
typedef unsigned           int uint_fast16_t;
typedef unsigned           int uint_fast32_t;
typedef unsigned       __int64 uint_fast64_t;/* 7.18.1.4 integer types capable of holding object pointers */
typedef   signed           int intptr_t;
typedef unsigned           int uintptr_t;/* 7.18.1.5 greatest-width integer types */
typedef   signed       __int64 intmax_t;
typedef unsigned       __int64 uintmax_t;#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)/* 7.18.2.1 *//* minimum values of exact-width signed integer types */
#define INT8_MIN                   -128
#define INT16_MIN                -32768
#define INT32_MIN          (~0x7fffffff)   /* -2147483648 is unsigned */
#define INT64_MIN  __ESCAPE__(~0x7fffffffffffffffll) /* -9223372036854775808 is unsigned *//* maximum values of exact-width signed integer types */
#define INT8_MAX                    127
#define INT16_MAX                 32767
#define INT32_MAX            2147483647
#define INT64_MAX  __ESCAPE__(9223372036854775807ll)/* maximum values of exact-width unsigned integer types */
#define UINT8_MAX                   255
#define UINT16_MAX                65535
#define UINT32_MAX           4294967295u
#define UINT64_MAX __ESCAPE__(18446744073709551615ull)/* 7.18.2.2 *//* minimum values of minimum-width signed integer types */
#define INT_LEAST8_MIN                   -128
#define INT_LEAST16_MIN                -32768
#define INT_LEAST32_MIN          (~0x7fffffff)
#define INT_LEAST64_MIN  __ESCAPE__(~0x7fffffffffffffffll)/* maximum values of minimum-width signed integer types */
#define INT_LEAST8_MAX                    127
#define INT_LEAST16_MAX                 32767
#define INT_LEAST32_MAX            2147483647
#define INT_LEAST64_MAX  __ESCAPE__(9223372036854775807ll)/* maximum values of minimum-width unsigned integer types */
#define UINT_LEAST8_MAX                   255
#define UINT_LEAST16_MAX                65535
#define UINT_LEAST32_MAX           4294967295u
#define UINT_LEAST64_MAX __ESCAPE__(18446744073709551615ull)/* 7.18.2.3 *//* minimum values of fastest minimum-width signed integer types */
#define INT_FAST8_MIN           (~0x7fffffff)
#define INT_FAST16_MIN          (~0x7fffffff)
#define INT_FAST32_MIN          (~0x7fffffff)
#define INT_FAST64_MIN  __ESCAPE__(~0x7fffffffffffffffll)/* maximum values of fastest minimum-width signed integer types */
#define INT_FAST8_MAX             2147483647
#define INT_FAST16_MAX            2147483647
#define INT_FAST32_MAX            2147483647
#define INT_FAST64_MAX  __ESCAPE__(9223372036854775807ll)/* maximum values of fastest minimum-width unsigned integer types */
#define UINT_FAST8_MAX            4294967295u
#define UINT_FAST16_MAX           4294967295u
#define UINT_FAST32_MAX           4294967295u
#define UINT_FAST64_MAX __ESCAPE__(18446744073709551615ull)/* 7.18.2.4 *//* minimum value of pointer-holding signed integer type */
#define INTPTR_MIN (~0x7fffffff)/* maximum value of pointer-holding signed integer type */
#define INTPTR_MAX   2147483647/* maximum value of pointer-holding unsigned integer type */
#define UINTPTR_MAX  4294967295u/* 7.18.2.5 *//* minimum value of greatest-width signed integer type */
#define INTMAX_MIN  __ESCAPE__(~0x7fffffffffffffffll)/* maximum value of greatest-width signed integer type */
#define INTMAX_MAX  __ESCAPE__(9223372036854775807ll)/* maximum value of greatest-width unsigned integer type */
#define UINTMAX_MAX __ESCAPE__(18446744073709551615ull)/* 7.18.3 *//* limits of ptrdiff_t */
#define PTRDIFF_MIN (~0x7fffffff)
#define PTRDIFF_MAX   2147483647/* limits of sig_atomic_t */
#define SIG_ATOMIC_MIN (~0x7fffffff)
#define SIG_ATOMIC_MAX   2147483647/* limit of size_t */
#define SIZE_MAX 4294967295u/* limits of wchar_t *//* NB we have to undef and redef because they're defined in both* stdint.h and wchar.h */
#undef WCHAR_MIN
#undef WCHAR_MAX#if defined(__WCHAR32)#define WCHAR_MIN   0#define WCHAR_MAX   0xffffffffU
#else#define WCHAR_MIN   0#define WCHAR_MAX   65535
#endif/* limits of wint_t */
#define WINT_MIN (~0x7fffffff)
#define WINT_MAX 2147483647#endif /* __STDC_LIMIT_MACROS */#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)/* 7.18.4.1 macros for minimum-width integer constants */
#define INT8_C(x)   (x)
#define INT16_C(x)  (x)
#define INT32_C(x)  (x)
#define INT64_C(x)  __ESCAPE__(x ## ll)#define UINT8_C(x)  (x ## u)
#define UINT16_C(x) (x ## u)
#define UINT32_C(x) (x ## u)
#define UINT64_C(x) __ESCAPE__(x ## ull)/* 7.18.4.2 macros for greatest-width integer constants */
#define INTMAX_C(x)  __ESCAPE__(x ## ll)
#define UINTMAX_C(x) __ESCAPE__(x ## ull)#endif /* __STDC_CONSTANT_MACROS */#ifdef __cplusplus}  /* extern "C" */}  /* namespace std */#endif /* __cplusplus */#endif /* __STDINT_DECLS */#ifdef __cplusplus#ifndef __STDINT_NO_EXPORTSusing ::std::int8_t;using ::std::int16_t;using ::std::int32_t;using ::std::int64_t;using ::std::uint8_t;using ::std::uint16_t;using ::std::uint32_t;using ::std::uint64_t;using ::std::int_least8_t;using ::std::int_least16_t;using ::std::int_least32_t;using ::std::int_least64_t;using ::std::uint_least8_t;using ::std::uint_least16_t;using ::std::uint_least32_t;using ::std::uint_least64_t;using ::std::int_fast8_t;using ::std::int_fast16_t;using ::std::int_fast32_t;using ::std::int_fast64_t;using ::std::uint_fast8_t;using ::std::uint_fast16_t;using ::std::uint_fast32_t;using ::std::uint_fast64_t;using ::std::intptr_t;using ::std::uintptr_t;using ::std::intmax_t;using ::std::uintmax_t;#endif #endif /* __cplusplus */#endif /* __stdint_h *//* end of stdint.h */

stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系相关推荐

  1. stm32 中bootloader、startup_stm32f10x_md.s的作用

     stm32 中bootloader.startup_stm32f10x_md.s的作用 转载 2016-09-12 10:47:39 一.启动文件的作用是: 1.  初始化堆栈指针 SP; 2. ...

  2. 解决VC2015包含stdint.h头文件冲突问题

    stdint.h是C99的标准,主要用于统一跨平台数据定义. MSVC中不带有这个头文件,直到VS2010. 在之前的版本里面,我们可以: (1)下载这个头文件 download a MS versi ...

  3. 【力扣】08 剧情触发时间:在战略游戏中,玩家往往需要发展自己的势力来触发各种新的剧情。一个势力的主要属性有三种,分别是文明等级(C),资源储备(R)以及人口数量(H)。在游戏开始时(第 0 天),三

    LCP 08. 剧情触发时间 在战略游戏中,玩家往往需要发展自己的势力来触发各种新的剧情.一个势力的主要属性有三种,分别是文明等级(C),资源储备(R)以及人口数量(H).在游戏开始时(第 0 天), ...

  4. 深入浅出地理解STM32中的中断系统——从原理到简单工程示例——保姆级教程

    深入浅出地理解STM32中的中断系统 一.什么是中断?什么是异常? 二.如何管理中断? 三.NVIC 1 NVIC 特点 2 中断优先级 (1) 优先级分组 3 中断向量表 4 中断服务函数 (1)中 ...

  5. Arduino处理STM32中的多个串口通讯问题

    简 介: 对于在Arduino下开发STM32的程序,对于STM32所具有的三个硬件USART进行测测试.结果显示可以使用这些串口完成相应的数据的输入与输出.但是涉及到以下两个问题,还没有得到解决:问 ...

  6. STM32中常用的C语言知识点,开始复习!

    要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站. C语言是单片机开发中的必备基础知识,这里就列举部分STM32学习中会遇见的C 语言基础知识点. 01  位操作 下面我们先讲解几种位操作符,然后讲 ...

  7. STM32中C语言知识点:初学者必看,老鸟复习(长文总结)

    说在前面的话 一位初学单片机的小伙伴让我推荐C语言书籍,因为C语言基础比较差,想把C语言重新学一遍,再去学单片机,我以前刚学单片机的时候也有这样子的想法. 其实C语言是可以边学单片机边学的,学单片机的 ...

  8. STM32驱动开发(二)--USB Device RNDIS虚拟网卡(USB2.0 基础概念讲解)

    STM32驱动开发(二)–USB Device RNDIS虚拟网卡(USB2.0基础概念讲解) 一.简介   本文基于stm32 Rndis实例,github开源, 使用STM32F407单板.结合协 ...

  9. 详解STM32中的ADC

    ADC简介 STM32F103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道.其中ADC1和ADC2都有16个外部通道,ADC3一般有8个外部通道,各通道的A/D转换可以单次.连续.扫 ...

最新文章

  1. 《Nmap渗透测试指南》—第6章6.4节IP欺骗
  2. 端午回家,听完你是做程序员,你家里人是什么反应?
  3. 决胜大数据时代:HadoopYarnSpark企业级最佳实践(3天)
  4. 最大公约数最小公倍数
  5. runtime无法执行grep_如何使管道使用Runtime.exec()?
  6. linux查看允许创建多少个进程,Linux下查看某个进程创建了多少线程
  7. Python——常见数据类型的调试笔记(“如何通过Debug信息判断数据类型”)
  8. visio 2013安装教程
  9. SVP——一种用于深度学习的高效数据选择方法
  10. 永恒之蓝漏洞复现(MS17010)
  11. 如何查看两个word文档的不同之处
  12. java计算2个日期的天数时间差
  13. Chrome 咕咕牛懒器(guge niú lǎn qì) 安装 及助手插件操作
  14. 回声状态网络(ESN)的公式推导及代码实现
  15. 删除文件夹时,显示“错误0x80070091 文件夹不是空的”
  16. Nagios配置说明
  17. excel之工作表工作簿保护暴力撤销
  18. 拒绝成为肉鸡 教你几招让黑客永远抓不到你
  19. 什么是RAM?如何清理电脑RAM?
  20. 【python-docx 06】理解word样式

热门文章

  1. mysql 数据库授权(给某个用户授权某个数据库)
  2. Sharepoint的文档库用资源管理器方式浏览报错“Explorer View ”解决方案。
  3. 加勒比海兔_加勒比海海洋物种趋势
  4. netflix_Netflix的计算因果推论
  5. 在Java里如何给一个日期增加一天
  6. leetcode 48. 旋转图像
  7. leetcode1296. 划分数组为连续数字的集合(贪心算法)
  8. 配置 aws cli_AWS CLI教程–如何安装,配置和使用AWS CLI了解您的资源环境
  9. HTML DOM方法
  10. slack通知本地服务器_通过构建自己的Slack App学习无服务器