📄 scc_hdlc.h
字号:
#ifndef __SCC_HDLC_H__
#define __SCC_HDLC_H__
#define NUM_RXBDS 3
#define NUM_TXBDS 3
#define BUFFER_SIZE 256
#define STADDR 0x0100
typedef struct Hdlc_Param
{
VUINT32 RESERVED;
VUINT32 c_mask; /* CRC constant */
VUINT32 c_pres; /* CRC preset */
VUINT16 disfc; /* discarded frame counter */
VUINT16 crcec; /* CRC error counter */
VUINT16 abtsc; /* abort sequence counter */
VUINT16 nmarc; /* nonmatching address rx cnt */
VUINT16 retrc; /* frame retransmission cnt */
VUINT16 mflr; /* maximum frame length reg */
VUINT16 max_cnt; /* maximum length counter */
VUINT16 rfthr; /* received frames threshold */
VUINT16 rfcnt; /* received frames count */
VUINT16 hmask; /* user defined frm addr mask */
VUINT16 haddr1; /* user defined frm address 1 */
VUINT16 haddr2; /* user defined frm address 2 */
VUINT16 haddr3; /* user defined frm address 3 */
VUINT16 haddr4; /* user defined frm address 4 */
VUINT16 tmp; /* temp */
VUINT16 tmp_mb; /* temp */
}hdlc_param;
typedef struct BufferDescRings
{
SCC_BUF RxBD[NUM_RXBDS]; /* Rx BD ring */
SCC_BUF TxBD[NUM_TXBDS]; /* Tx BD ring */
}BDRINGS;
typedef struct BuffDesc
{
SMC_BUF RxBD ;
SMC_BUF TxBD[NUM_TXBDS];
}BDTRAN;
typedef struct BufferPool
{
UCHAR RxBuffer[NUM_RXBDS][BUFFER_SIZE];
UCHAR TxBuffer[NUM_RXBDS][BUFFER_SIZE];
}LB;
/* Routine declaration */
void InitSCCBD(void);
void InitSMCBD(void);
void InitTxBuffer(void);
void SCC3HDLC(void);
UINT32 GetIMMR(void);
void SMC1Init(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -