stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                在stm32f10x的3.5固件庫(kù)中stm32f10x.h有以下代碼(第478行開(kāi)始):
/*** @}*/#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固件庫(kù)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以后的庫(kù)中,不再含有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 */
 
總結(jié)
以上是生活随笔為你收集整理的stm32中stm32f10x_type.h(固件3.0以前)、stm32f10x.h(固件3.0以后)、stdint.h文件的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: Java Thread Status(转
- 下一篇: 如何制作自己的静态库
