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

📄 std.h

📁 在AVR 平台下的控制代码,通过CAN控制
💻 H
字号:
#ifndef _STD_INC_H_
#define _STD_INC_H_
/*#include <reg51.h>*/

#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include "ioctrl.h"


#define Un_Sizet_1      unsigned char
#define Un_Sizet_2      unsigned short
#define Un_Sizet_4      unsigned long int
#define Sizet_1         char
#define Sizet_2         short
#define Sizet_4         long int
#define Bool            unsigned char

#define Word    Un_Sizet_2
#define Dword   Un_Sizet_4
#define Char    Un_Sizet_1
#define Byte 	Sizet_1
#define Short	Sizet_2
#define Long	Sizet_4

#define Void    void

#define _TRUE_          1
#define _FALSE_         0

#undef   _STDIO_        // 使用标准IO


#define tdSetValBit(Val, ucBit)               Val |= (ucBit)
#define tdClearValBit(Val, ucBit)             Val &= ~(ucBit)
#define tdTestValBitTrue(Val, ucBit)          (Val & (ucBit))
#define tdTestValBitFalse(Val, ucBit)         (!(Val & (ucBit)))
 
#ifdef STDIO
#define DbPrintf(str)               printf(str)
#define DbPrintf1(str0,str1)        printf(str0,str1)
#define DbPrintf2(str0,str1,str2)   printf(str0,str1,str2)
#else
#define DbPrintf(str)               
#define DbPrintf1(str0,str1)        
#define DbPrintf2(str0,str1,str2)   
#endif
typedef struct tagFlag
{
    Un_Sizet_1 bit0:1;
    Un_Sizet_1 bit1:1;
    Un_Sizet_1 bit2:1;
    Un_Sizet_1 bit3:1;
    Un_Sizet_1 bit4:1;
    Un_Sizet_1 bit5:1;
    Un_Sizet_1 bit6:1;
    Un_Sizet_1 bit7:1;
}Flag;
Flag flag0;
/********                   *************/


typedef struct tagKeyboardDataStruct
{
    Word    wFirstDelay;
    Word    wRepeatDelay;
    Dword   dwLastTick;
    Byte    ucLastKey;
}KeyboardDataStruct;

extern KeyboardDataStruct t_KeyboardData;
/********                   *************/


typedef struct tagKeyInfo
{
    Bool bFastRepeatKeyEnable              :1;          //config
    Bool bSlowRepeatKeyEnable              :1;          //config
    Bool bKeyStatusUpEnable                :1;          //config
    Bool bRemoteKeyDown                    :1;          //status
    Bool bKeyboardDown                     :1;          //status
    Bool bRepeatKeyDown                    :1;          //status  
    Un_Sizet_1 reserved                    :2;
} KeyInfo;

extern KeyInfo g_KeyInfo;
/********                   *************/
typedef struct tagG_Data
{
    Byte ucIntIndex;        // for test, interrupt index
}G_Data;
extern G_Data  g_Data;

#define bTickGet        flag0.bit0
#endif

⌨️ 快捷键说明

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