stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系
来源:互联网 发布:无线通信网络系统 编辑:程序博客网 时间:2024/05/18 11:46
在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 __cplusplus namespace 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_EXPORTS using ::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 */
0 0
- stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系
- STM32中stm32f10x.h解析
- STM32 stm32f10x_type.h简略翻译
- STM32f10x_type.h文件--变量类型
- 有关stdint.h 文件
- 有关stdint.h文件
- stdint.h 文件
- STM32 stdint.h简略翻译
- stdint.h
- stdint.h
- stdint.h
- stdint.h
- stdint.h
- C语言中stdint.h的使用
- stdint.h 文件 int8_t uint8_t int16_t uint16_t (一)
- stdint.h 文件 int8_t uint8_t int16_t uint16_t (二)
- stdint.h 文件 int8_t uint8_t int16_t uint16_t (一)
- 关于stdint.h头文件
- android framework java层是如何拦截并分发底层传送来的按键事件
- 检测网络状态
- serviceCheck示例
- 当爱情即将败给面包,我迷茫了。
- 深入hibernate的三种状态
- stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系
- java内存分析
- javascript eval和JSON之间的联系
- 修改IE默认网页源码查看器
- java打印
- Linux内核获取当前时间、定时器、延时函数
- cocos2d-x 3.1 +cocostudio 整合应用2
- 淘宝信誉查询软件 官网免费版
- Delphi中截取字符串