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

📄 hdlc.h

📁 这是单板上DPRAM的驱动程序
💻 H
字号:
#ifndef _HDLC_H
#define _HDLC_H

#define SDB_HDLC  100000
#define SDC_CONFIG_CD (SDB_HDLC+0)
/* Comm defination */
#define HDLC_NMSI 0
#define HDLC_TDMA 1
#define HDLC_TDMB 2

#define HDLC_BRG1 0
#define HDLC_BRG2 1
#define HDLC_BRG3 2
#define HDLC_BRG4 3
#define HDLC_CLK1 4
#define HDLC_CLK2 5
#define HDLC_CLK3 6
#define HDLC_CLK4 7
#define HDLC_CLK5 4
#define HDLC_CLK6 5
#define HDLC_CLK7 6
#define HDLC_CLK8 7

/* SCCE Flags */
#define HDLC_TX_ERR      (1<<(15-11))
#define HDLC_RX_FRAME    (1<<(15-12))
#define HDLC_LACK_OF_BUF (1<<(15-13))
#define HDLC_TX_BUF      (1<<(15-14))
#define HDLC_RX_BUF      (1<<(15-15))

/* Rx BD Flags */
#define HDLC_DPLL_ERR    (1<<(15-8))
#define HDLC_GREATER_LEN (1<<(15-10))
#define HDLC_NOT_ALIGNED (1<<(15-11))
#define HDLC_ABORT_SEQ   (1<<(15-12))
#define HDLC_RX_CRC      (1<<(15-13))
#define HDLC_OVERRUN     (1<<(15-14))
#define HDLC_CD_LOST     (1<<(15-15))

/* Tx BD Flags */
#define HDLC_TX_CRC      (1<<(15-5))
#define HDLC_UNDERRUN    (1<<(15-14))
#define HDLC_CTS_LOST    (1<<(15-15))

typedef struct{
    char *UncachedBuffer; 
    int ch;        /* 0 -> scc1, 1->scc2 , ... */
    int MaxRecvBD; /* 5 */
    int MaxSendBD; /* 5 */
    int MaxBufLen; /* 272 */
    int UseTDM;    /* 0 -> Standalone, 1 -> TDMA, 2 -> TDMB */
    int BusMode; /* 0 -> false, 1 -> true */
    int Clk;     /* HDLC_BRG1, ..2, ..3, ..4, HDLC_CLK1_5, ..2_6, ..3_7 */
    unsigned short AddrMask;
    unsigned short Addr1; /* LOCAL ADDRESS */
    unsigned short Addr2; /* LOCAL ADDRESS */
    unsigned short Addr3; /* LOCAL ADDRESS */
    unsigned short Addr4; /* LOCAL ADDRESS */
    int IsValidLoopClk; /* is loopclk valid */
    int LoopClk; /* when loopback test */
    int DiffClk; /* 1 -> Clk as RxClk, TxClk as TxClk */   
    int TxClk;   /* same as Clk */
    }HdlcCfgStruct;

void HdlcInit(void *pDatabuf, HdlcCfgStruct *pCfg);
int HdlcRead(void *pDataBuf,void *pBuf, int MaxLen);
int HdlcWrite(void *pDataBuf,void *pBuf, int MaxLen);         
int HdlcCntrl(void *pDataBuf, int cmd, void *pParam, int maxlen);
char *HdlcBspInit(int DEV,char *FreeMemPtr,HdlcCfgStruct *pCfg);

#endif /* _HDLC_H */

⌨️ 快捷键说明

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