⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typedefs.h

📁 PIC Kit serial source code.
💻 H
字号:
//==================================================================== 
//--- COPYRIGHT
//==================================================================== 
// Copyright 2006 Microchip Technology Inc.
// 
// Microchip Technology Inc. ("Microchip") licenses this software to
// you solely for use with Microchip products. The software is owned
// by Microchip and is protected under applicable copyright laws. All
// rights reserved.
// 
// SOFTWARE IS PROVIDED IN AN "AS IS." MICROCHIP EXPRESSLY DISCLAIMS ANY
// WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
// PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL MICROCHIP
// BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL
// DAMAGES, LOST PROFITS OR LOST DATA, HARM TO YOUR EQUIPMENT, COST OF
// PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS
// BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF),
// ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER SIMILAR COSTS.
// 
//==================================================================== 
//--- TITLE
//==================================================================== 
//    Filename:            typedefs.h
//    Microcontroller:     PIC18F2550
//    Compiled using:      C18 V3.00
//
//    Author:              Mark Enochson
//    Company:             Microchip Technology Inc.
//
//==================================================================== 
//--- DESCRIPTION
//==================================================================== 
//
//==================================================================== 
//--- HISTORY
//==================================================================== 
//
//    0001 - 08-01-06 - ME
//    - initial release
//
//==================================================================== 

#ifndef __TYPEDEFS_H
#define __TYPEDEFS_H

//================================================
typedef unsigned char   byte,  TD_BYTE;   // 8-bit
typedef unsigned int    word,  TD_WORD;   // 16-bit
typedef unsigned long   dword, TD_DWORD;  // 32-bit
//================================================


//================================================
//--- BYTE
//================================================
typedef union _BYTE
{
   TD_BYTE _b;
   TD_BYTE _byte;
   struct
   {
      unsigned bit0:1;
      unsigned bit1:1;
      unsigned bit2:1;
      unsigned bit3:1;
      unsigned bit4:1;
      unsigned bit5:1;
      unsigned bit6:1;
      unsigned bit7:1;
   };
   struct
   {
      unsigned b0:1;
      unsigned b1:1;
      unsigned b2:1;
      unsigned b3:1;
      unsigned b4:1;
      unsigned b5:1;
      unsigned b6:1;
      unsigned b7:1;
   };
} BYTE,  TD_BYTE_B;

//================================================
//--- WORD
//================================================
typedef union _WORD
{
   //TD_WORD  word_w;
   TD_WORD  _w;
   TD_WORD  _word;
   struct
   {
      TD_BYTE     byte0;
      TD_BYTE     byte1;
   };
   struct
   {
      TD_BYTE_B   byte0_B;
      TD_BYTE_B   byte1_B;
   };
   struct
   {
      TD_BYTE     lo;
      TD_BYTE     hi;
   };
   struct
   {
      TD_BYTE     _b0;
      TD_BYTE     _b1;
   };
   struct
   {
      TD_BYTE_B   _B0;
      TD_BYTE_B   _B1;
   };
} WORD, TD_WORD_W;


//================================================
//--- DWORD
//================================================
typedef union _DWORD
{
   TD_DWORD       _d;
   struct
   {
      TD_WORD     word0;
      TD_WORD     word1;
   };
   struct
   {
      TD_WORD_W   word0_W;
      TD_WORD_W   word1_W;
   };
   struct
   {
      TD_WORD     _w0;
      TD_WORD     _w1;
   };
   struct
   {
      TD_WORD_W   _W0;
      TD_WORD_W   _W1;
   };
   struct
   {
      TD_BYTE     byte0;
      TD_BYTE     byte1;
      TD_BYTE     byte2;
      TD_BYTE     byte3;
   };
   struct
   {
      TD_BYTE_B   byte0_B;
      TD_BYTE_B   byte1_B;
      TD_BYTE_B   byte2_B;
      TD_BYTE_B   byte3_B;
   };
   struct
   {
      TD_BYTE     _b0;
      TD_BYTE     _b1;
      TD_BYTE     _b2;
      TD_BYTE     _b3;
   };
   struct
   {
      TD_BYTE     _B0;
      TD_BYTE     _B1;
      TD_BYTE     _B2;
      TD_BYTE     _B3;
   };
} DWORD, TD_DWORD_D;

//--- ORIGINAL
typedef void(*pFunc)(void);


//================================================
//--- POINTER
//================================================
typedef union _POINTER
{
   TD_WORD        word_w;
   struct
   {
      TD_BYTE     _b0;
      TD_BYTE     _b1;
   };
   TD_WORD_W      word_W;
   TD_BYTE        *ram_b;
   TD_WORD        *ram_w;
   rom TD_BYTE    *rom_b;
   rom TD_WORD    *rom_w;
} POINTER, TD_POINTER;


//================================================
//--- OPERATORS
//================================================
#define  not   !
#define  and   &&

//================================================
//--- MISC
//================================================
typedef enum _BOOL { FALSE = 0, TRUE } BOOL;
#define OK      TRUE
#define FAIL    FALSE


#endif // __TYPEDEFS_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -