ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
433533 Топик полностью
mazur (16.08.2013 16:52, просмотров: 320) ответил fk0 на 1) за u08, u16 и т.п. сжигать нужно -- используй стандартные типы данных. 2) заморачиваться и не нужно -- для размера любого типа есть sizeof(type name or variable name), размер массива можно узнать как sizeof(array)/sizeof(array[0]), смещение
avrlibtypes.h:  /*! \file avrlibtypes.h \brief AVRlib global types and typedefines. */ //***************************************************************************** // // File Name : 'avrlibtypes.h' // Title : AVRlib global types and typedefines include file // Author : Pascal Stang // Created : 7/12/2001 // Revised : 9/30/2002 // Version : 1.0 // Target MCU : Atmel AVR series // Editor Tabs : 4 // // Description : Type-defines required and used by AVRlib. Most types are also // generally useful. // // This code is distributed under the GNU Public License // which can be found at http://www.gnu.org/licenses/gpl.txt // //***************************************************************************** #ifndef AVRLIBTYPES_H #define AVRLIBTYPES_H #ifndef WIN32 // true/false defines #define FALSE 0 #define TRUE -1 #endif // datatype definitions macros typedef unsigned char u08; typedef signed char s08; typedef unsigned short u16; typedef signed short s16; typedef unsigned long u32; typedef signed long s32; typedef unsigned long long u64; typedef signed long long s64; /* use inttypes.h instead // C99 standard integer type definitions typedef unsigned char uint8_t; typedef signed char int8_t; typedef unsigned short uint16_t; typedef signed short int16_t; typedef unsigned long uint32_t; typedef signed long int32_t; typedef unsigned long uint64_t; typedef signed long int64_t; */ // maximum value that can be held // by unsigned data types (8,16,32bits) #define MAX_U08 255 #define MAX_U16 65535 #define MAX_U32 4294967295 // maximum values that can be held // by signed data types (8,16,32bits) #define MIN_S08 -128 #define MAX_S08 127 #define MIN_S16 -32768 #define MAX_S16 32767 #define MIN_S32 -2147483648 #define MAX_S32 2147483647 #ifndef WIN32 // more type redefinitions typedef unsigned char BOOL; typedef unsigned char BYTE; typedef unsigned int WORD; typedef unsigned long DWORD; typedef unsigned char UCHAR; typedef unsigned int UINT; typedef unsigned short USHORT; typedef unsigned long ULONG; typedef char CHAR; typedef int INT; typedef long LONG; #endif #endif