📄 qmc__tsa.c
字号:
#include "PUB\PUB_INCL.H"
#include "DRVS\DRV860\PUB\NETCOMM.H" /* global defines */
#include "DRVS\DRV860\PUB\D860_PUB.H"
#include "DRVS\DRV860\PUB\MPC860.H" /* IMMR definitions and declarations */
#include "DRVS\DRV860\PUB\MASKS860.h" /* Global masks header file */
#include "DRVS\DRV860\QMC\QMC.H"
#include "DRVS\DRV860\QMC\QMC__TSA.H"
extern QMC_TABLE qmc_table;
extern EPPC *quicc;
SI slot_init(SI scc_num,time_slot_tbl table,SI slot_num,SI mask,SI channel_num )
{
SI *tbl;
if( slot_num>31 || slot_num<0 || channel_num>31 || channel_num<0 ||
(!qmc_table[channel_num].init_flag ))
return (-1);
if( table == Rx_Time_Slot_Tbl)
tbl = (SI *)&((QMC_BASE (quicc, scc_num))->tsatrx[0]);
else
tbl = (SI *)&((QMC_BASE ( quicc, scc_num))->tsattx[0]);
tbl[slot_num] |= mask & 0x003f;
tbl[slot_num] |= (mask & 0x00c0) << 6;
tbl[slot_num] |= channel_num << 6;
tbl[slot_num] |= VALID_SLOT;
return 0;
}
SI slot_enable(SI scc_num, time_slot_tbl table, SI slot_num)
{
SI *tbl;
if( slot_num > 31 || slot_num < 0 )
return (-1);
if( table == Rx_Time_Slot_Tbl)
tbl = (SI *)&((QMC_BASE(quicc, scc_num))->tsatrx[0]);
else
tbl = (SI *)&((QMC_BASE(quicc, scc_num))->tsattx[0]);
tbl[slot_num] |= VALID_SLOT;
return 0;
}
SI slot_disable(SI scc_num, time_slot_tbl table, SI slot_num)
{
SI *tbl;
SI i;
if( slot_num > 31 || slot_num < 0 )
return (-1);
if( table == Rx_Time_Slot_Tbl)
tbl = (SI *)&((QMC_BASE( quicc, scc_num))->tsatrx[0]);
else
tbl = (SI *)&((QMC_BASE( quicc, scc_num))->tsattx[0]);
tbl[slot_num] &= ~VALID_SLOT;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -