?? lib.h
字號:
/*------------------------------------------------------------------------
Module: ../lib/lib.h
Author: ll
Project: DF9320-2(配變數據采集終端)
State:
Creation Date:
Description: 庫函數說明
------------------------------------------------------------------------*/
#ifndef _LIB_LIB_H
#define _LIB_LIB_H
/*
* 用以定義Task[TASK_MNUM],保存任務名稱與TID的對應表,
* 可以根據TID查找任務名串,補償PSOS調用的不足
*/
typedef struct {
char name[4];
INT32U tid;
}stTask;
/*------------------------------------------------------------------------
[宏說明]
------------------------------------------------------------------------*/
#define MERGE(H,L) ((H<<8)+L) /* 合并高/低字節 */
#define DMERGE(DH,DL,H,L) ((DH<<24)+(DL<<16)+(H<<8)+L) /* 合并四字節 */
#define LOW(W) (W&0xFF) /* 取低字節 */
#define HIGH(W) (W>>8) //LL 修改 2004.03.29
#define DLOW(W) (W>>16) /* 取第三字節 */
#define DHIGH(W) (W>>24) /* 取第四字節 */
#define INC(X, L) (((X)>=((L)-1))?((X)=0):((X)++))
#define inb(p) (*(INT8U *)p)
#define inw(p) (*(INT16U *)p)
#define inl(p) (*(INT32U *)p)
#define outb(p,v) (*(INT8U *)p = v)
#define outw(p,v) (*(INT16U *)p = v)
#define outl(p,v) (*(INT32U *)p = v)
/*------------------------------------------------------------------------
[函數說明]
------------------------------------------------------------------------*/
INT8U reverseb(INT8U b);
INT16U reversebyte(INT16U word);
INT32U reversebyte_32(INT32U dword);
INT16U complement(INT16U v); /* 取補碼 */
INT32U complement32(INT32U v); //32位取補碼
INT16U sumcrc(void *ptr, short count);
INT16U sumcrc_b(void *ptr, int count);
INT8U SendVerifyHead(INT8U* lpbyBuf,INT16U byNum);
INT16U fdkcrc(INT8U *ptr, short count);
INT16U dnpcrc(const INT8U *ptr, short count);
INT16U cscrc(void *pbuf, short count);
INT16U WHCRC16(INT8U *p,INT32U l);
INT16U WHCRC(INT8U *p,INT32U l);
INT8U bcd2bin(INT8U v); /* 轉換BCD碼為二進制 */
INT8U bin2bcd(INT8U v); /* 轉換二進制為BCD碼 */
INT16U bin2bcd16(INT16U v);
INT16U bcdtobin16(INT16U v);
INT32U bcd2bin32(INT32U v);
INT32U bin2bcd32(INT32U v);
void LongMul(INT32U a, INT32U b, INT32U* result);
void UlongDiv(INT32U* a, INT16U c, INT32U* result);
INT32U MyPow(INT32U x, INT32U y);
void delay_ms(INT32U time);
void delay_us(int time);
INT8U NetMaskToConfig(INT32U u);
INT32U ConfigToNetMask(INT8U u);
INT32U INT8UToINT32U(INT8U * b);
INT16U INT8UToINT16U(INT8U * b);
void INT32UToINT8U(INT32U a,INT8U *b);
void INT16UToINT8U(INT16U a,INT8U *b);
//串口處理部分
#define BSPUSARTSIZE 50 //建議不要超過200
int Readx(INT8U *pbuf, INT16U count, INT8U port);
int WriteX(INT8U *pbuf, INT16U count, INT8U port);
void lseek(INT8U port, INT16U offset);
BOOL RReadx(INT16U Addr, INT8U Port);
#endif /* _LIB_LIB_H */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -