AVR 軟件操作庫函數(shù)
1.C語言宏定義技巧(常用宏定義)
1,防止一個(gè)頭文件被重復(fù)包含
#ifndef COMDEF_H
#define COMDEF_H
//頭文件內(nèi)容
#endif
2,重新定義一些類型,防止由于各種平臺(tái)和編譯器的不同,而產(chǎn)生的類型字節(jié)數(shù)差異,方便移植.
typedef unsigned char boolean;
typedef unsigned long int uint32;
typedef unsigned short uint16;
typedef unsigned char uint8;
typedef signed long int int32;
typedef signed short int16;
typedef signed char int8;
2.AVR 軟件操作庫函數(shù)
uint8 dataElem[6];
void speaData(uint32 dat,sint8 len)
{
uint8 i;
uint32 j,y;
for(i=0,j=1;i
y=dat/j;
dataElem[i]=y;
j*=10;
}
}
#define changeIntToHex(dec) ( ( ((dec)/10) <<4 ) + ((dec)) )
#define converseIntToHex(dec) ( ( ((dec)>>4) *10 ) + ((dec)) )
#define changeHexToInt(hex) ( ( ((hex)>>4) *10 ) + ((hex)) )
#define converseHexToInt(hex) ( ( ((hex)/10) <<4 ) + ((hex)) )
#endif
*--------------------------------------------------------------------
程序全稱:數(shù)據(jù)拆字程序
程序功能:
注意事項(xiàng):D<=999999,C<=6
提示說明:調(diào)用speaData(12,2),得到dataElem[0]=2,dataElem[1]=1
輸入:
返回:無
--------------------------------------------------------------------*/
uint8 dataElem[6];
void speaData(uint32 dat,sint8 len)
{
uint8 i;
uint32 j,y;
for(i=0,j=1;i
y=dat/j;
dataElem[i]=y;
j*=10;
}
}
#define changeIntToHex(dec)( ( ((dec)/10) <<4 ) + ((dec)) )
#define converseIntToHex(dec)( ( ((dec)>>4) *10 ) + ((dec)) )
#define changeHexToInt(hex)( ( ((hex)>>4) *10 ) + ((hex)) )
#define converseHexToInt(hex)( ( ((hex)/10) <<4 ) + ((hex)) )
#endif