📄 dsp28_sci_aii.c.txt
字号:
//
// TMDX ALPHA RELEASE
// Intended for product evaluation purposes
//
//###########################################################################
//
// FILE: DSP28_Sci.c
//
// TITLE: DSP28 SCI Initialization & Support Functions.
//
//###########################################################################
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 0.55| 06 May 2002 | L.H. | EzDSP Alpha Release
// 0.56| 20 May 2002 | L.H. | No change
// 0.57| 27 May 2002 | L.H. | No change
//###########################################################################
#include "DSP28_Device.h"
//---------------------------------------------------------------------------
// InitSPI:
//---------------------------------------------------------------------------
// This function initializes the SPI(s) to a known state.
//
void InitSci(void)
{
// Initialize SCI-A:
EALLOW;
GpioMuxRegs.GPGMUX.all = 0x0030;
struct GPFMUX_BITS { // bits description
Uint16 SPISIMOA_GPIOF0:1; // 0
Uint16 SPISOMIA_GPIOF1:1; // 1
Uint16 SPICLKA_GPIOF2:1; // 2
Uint16 SPISTEA_GPIOF3:1; // 3
Uint16 SCITXDA_GPIOF4:1; // 4
Uint16 SCIRXDA_GPIOF5:1; // 5
Uint16 CANTXA_GPIOF6:1; // 6
Uint16 CANRXA_GPIOF7:1; // 7
Uint16 MCLKXA_GPIOF8:1; // 8
Uint16 MCLKRA_GPIOF9:1; // 9
Uint16 MFSXA_GPIOF10:1; // 10
Uint16 MFSRA_GPIOF11:1; // 11
Uint16 MDXA_GPIOF12:1; // 12
Uint16 MDRA_GPIOF13:1; // 13
Uint16 XF_GPIOF14:1; // 14
Uint16 spare_GPIOF15:1; // 15
};
struct GPGMUX_BITS { // bits description
Uint16 rsvd1:4; // 3:0
Uint16 SCITXDB_GPIOG4:1; // 4
Uint16 SCIRXDB_GPIOG5:1; // 5
Uint16 rsvd2:10; // 15:6
};
EDIS;
/* loopback disable 8 bit data */
ScibRegs.SCICCR.all = 0x07; // 1 bit stop, disable parity, idle mode, 8 bits data
ScibRegs.SCICTL1.all = 0x03; // enable TX
ScibRegs.SCICTL2.all = 0x03; //
ScibRegs.SCIHBAUD = 0x00;
ScibRegs.SCILBAUD = 0xA2; //f3
ScibRegs.SCICTL1.all = 0x23;
PieCtrl.PIEIER9.bit.INTx3 = 1;
PieCtrl.PIEIER9.bit.INTx4 = 1;
//tbd...
// Initialize SCI-B:
//tbd...
}
/********************************************************************************
name: int SciaTx_Ready(void)
input: none
output: i 1: ready
0: busy
*********************************************************************************/
int SciaTx_Ready(void)
{
unsigned int i;
if(ScibRegs.SCICTL2.bit.TXRDY == 1)
{
i = 1;
}
else
{
i = 0;
}
return(i);
}
/********************************************************************************
name: int SciaRx_Ready(void)
input: none
output: i 1: new data
0: none
*********************************************************************************/
int SciaRx_Ready(void)
{
unsigned int i;
if(ScibRegs.SCIRXST.bit.RXRDY == 1)
{
i = 1;
}
else
{
i = 0;
}
return(i);
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -