359 lines
7.7 KiB
C
359 lines
7.7 KiB
C
|
#include "H/Function_Init.H"
|
|||
|
|
|||
|
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һģ<D2BB>飺
|
|||
|
#define USCI2 2
|
|||
|
#define USCI3 3
|
|||
|
#define USCI4 4
|
|||
|
#define USCI5 5
|
|||
|
|
|||
|
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һģʽ<C4A3><CABD>
|
|||
|
#define UartX 0
|
|||
|
#define TWIX 1
|
|||
|
#define SPIX 2
|
|||
|
|
|||
|
#define USCIX_Select USCI3
|
|||
|
#define USCIX_Mode 2
|
|||
|
|
|||
|
void UARTX_Init(uint Freq, unsigned long int baud);
|
|||
|
void TWIX_Init(void);
|
|||
|
void SPIX_Init(void);
|
|||
|
|
|||
|
bit UartXSendFlag = 0; //UartX<74><58><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
|||
|
bit UartXReceiveFlag = 0; //UartX<74><58><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
|||
|
bit SPIXFlag = 0; //SPIX<49><58><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
|||
|
bit TWIXFlag = 0; //TWIX<49>жϱ<D0B6>־λ
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void USCIX_Test(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCIX<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void USCIX_Test(void)
|
|||
|
{
|
|||
|
USXINX = USCIX_Select; //USCIX<49>Ĵ<EFBFBD><C4B4><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>USCI
|
|||
|
|
|||
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>һģʽ
|
|||
|
#if (USCIX_Mode == UartX)
|
|||
|
{
|
|||
|
UARTX_Init(32, 9600); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
while(1)
|
|||
|
{
|
|||
|
USXCON3 = 0xAA; //<2F><><EFBFBD><EFBFBD>0xAA
|
|||
|
while(!UartXSendFlag); //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD>
|
|||
|
UartXSendFlag = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>־λ
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == TWIX)
|
|||
|
{
|
|||
|
TWIX_Init();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
USXCON1 |= 0x20; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
while(!TWIXFlag);
|
|||
|
TWIXFlag = 0;
|
|||
|
USXCON3 = 0x10; //<2F><><EFBFBD>͵<EFBFBD>ַ<EFBFBD><D6B7>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
|
|||
|
while(!TWIXFlag);
|
|||
|
TWIXFlag = 0;
|
|||
|
USXCON3 = 0x55;
|
|||
|
while(!TWIXFlag);
|
|||
|
TWIXFlag = 0;
|
|||
|
Delay(100);
|
|||
|
USXCON1 |= 0x10; //<2F><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
Delay(100);
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == SPIX)
|
|||
|
{
|
|||
|
SPIX_Init();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
USXCON2 = 0xAA;
|
|||
|
while(!SPIXFlag);
|
|||
|
SPIXFlag = 0;
|
|||
|
Delay(1000);
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void UARTX_Init(uint Freq,unsigned long int baud)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>UartX<EFBFBD>жϳ<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Freq-<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>baud-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void UARTX_Init(uint Freq, unsigned long int baud)
|
|||
|
{
|
|||
|
TMCON |= 0xC0; //<2F><><EFBFBD>нӿ<D0BD>USCIXѡ<58><D1A1>Uartͨ<74><CDA8>
|
|||
|
#if (USCIX_Select == USCI2)
|
|||
|
P4CON &= ~0x30;
|
|||
|
P4PH |= 0x30;
|
|||
|
IE2 |= 0x02; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI3)
|
|||
|
P2CON &= ~0xC0;
|
|||
|
P2PH |= 0xC0;
|
|||
|
IE2 |= 0x04; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI4)
|
|||
|
P4CON &= ~0xC0;
|
|||
|
P4PH |= 0xC0;
|
|||
|
IE2 |= 0x08; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI5)
|
|||
|
P0CON &= ~0x0C;
|
|||
|
P0PH |= 0x0C;
|
|||
|
IE2 |= 0x10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#endif
|
|||
|
|
|||
|
USXCON0 = 0x50; //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD>ŷ<EFBFBD>ʽΪģʽһ<CABD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
USXCON1 = Freq * 1000000 / baud; //<2F><><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
USXCON2 = (Freq * 1000000 / baud) >> 8; //<2F><><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
EA = 1;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void TWIX_Init(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>TWIX<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void TWIX_Init(void)
|
|||
|
{
|
|||
|
TMCON |= 0x80; //<2F><><EFBFBD>нӿ<D0BD>USCIXѡ<58><D1A1>TWIͨ<49><CDA8>
|
|||
|
#if (USCIX_Select == USCI2)
|
|||
|
P4CON &= ~0x18;
|
|||
|
P4PH |= 0x18;
|
|||
|
IE2 |= 0x02; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI3)
|
|||
|
P2CON &= ~0x60;
|
|||
|
P2PH |= 0x60;
|
|||
|
IE2 |= 0x04; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI4)
|
|||
|
P5CON &= ~0x20;
|
|||
|
P5PH |= 0x20;
|
|||
|
P4CON &= ~0x70;
|
|||
|
P4PH |= 0x70;
|
|||
|
IE2 |= 0x08; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI5)
|
|||
|
P0CON &= ~0x06;
|
|||
|
P0PH |= 0x06;
|
|||
|
IE2 |= 0x10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#endif
|
|||
|
TMCON |= 0x80; //ѡ<><D1A1>TWIXģʽ
|
|||
|
USXCON0 = 0x80; //<2F><>ģʽ<C4A3><CABD> ʹ<><CAB9>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>־λ
|
|||
|
USXCON1 = 0x05; //---- xxxx xΪʱ<CEAA><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
IE2 |= 1 << (USCIX_Select - 1); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
EA = 1;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void SPIX_Init(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>SPIX<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void SPIX_Init(void)
|
|||
|
{
|
|||
|
TMCON |= 0x40; //<2F><><EFBFBD>нӿ<D0BD>USCIXѡ<58><D1A1>SPIͨ<49><CDA8>
|
|||
|
#if (USCIX_Select == USCI2)
|
|||
|
P4CON &= ~0x38;
|
|||
|
P4PH |= 0x38;
|
|||
|
IE2 |= 0x02; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI3)
|
|||
|
P2CON &= ~0xE0;
|
|||
|
P2PH |= 0xE0;
|
|||
|
IE2 |= 0x04; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI4)
|
|||
|
P5CON &= ~0x20;
|
|||
|
P5PH |= 0x20;
|
|||
|
P4CON &= ~0xC0;
|
|||
|
P4PH |= 0xC0;
|
|||
|
IE2 |= 0x08; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#elif (USCIX_Select == USCI5)
|
|||
|
P0CON &= ~0x0E;
|
|||
|
P0PH |= 0x0E;
|
|||
|
IE2 |= 0x10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
#endif
|
|||
|
TMCON |= 0X40; //ѡ<><D1A1>SPIXģʽ
|
|||
|
USXCON0 = 0x3F; //<2F><><EFBFBD><EFBFBD>SPIXΪ<58><CEAA><EFBFBD>豸<EFBFBD><E8B1B8>SCK<43><4B><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ<EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><C6BD>SCK<43><4B><EFBFBD>ڵڶ<DAB5><DAB6>زɼ<D8B2><C9BC><EFBFBD><EFBFBD>ݣ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪFsys/128
|
|||
|
USXCON1 = 0x01; //MSB<53><42><EFBFBD>ȷ<EFBFBD><C8B7>ͣ<EFBFBD>8λ<38><CEBB><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
USXCON0 |= 0x80; //<2F><><EFBFBD><EFBFBD>SPIX
|
|||
|
IE2 |= 1 << (USCIX_Select - 1); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
EA = 1;
|
|||
|
}
|
|||
|
|
|||
|
#if (USCIX_Select == USCI2)
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void TWI2/SPI2/UART2_Int() interrupt 7
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCI2<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
#if (USCIX_Mode == UartX)
|
|||
|
void UART2_Int() interrupt 16 //UartX<74>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x02) //<2F><><EFBFBD>ͱ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFE;
|
|||
|
UartXSendFlag = 1;
|
|||
|
}
|
|||
|
if((USXCON0 & 0x01)) //<2F><><EFBFBD>ձ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFD;
|
|||
|
UartXReceiveFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == TWIX)
|
|||
|
void TWI2_Int() interrupt 16 //TWIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x40)
|
|||
|
{
|
|||
|
USXCON0 &= 0xbf; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TWIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == SPIX)
|
|||
|
void SPI2Int(void) interrupt 16 //SPIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON1 & 0X08) //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־<EFBFBD>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X08;
|
|||
|
}
|
|||
|
if(USXCON1 & 0X80) //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X80;
|
|||
|
SPIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
#elif (USCIX_Select == USCI3)
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void TWI3/SPI3/UART3_Int() interrupt 7
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCI2<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
#if (USCIX_Mode == UartX)
|
|||
|
void UART3_Int() interrupt 17 //UartX<74>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x02) //<2F><><EFBFBD>ͱ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFE;
|
|||
|
UartXSendFlag = 1;
|
|||
|
}
|
|||
|
if((USXCON0 & 0x01)) //<2F><><EFBFBD>ձ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFD;
|
|||
|
UartXReceiveFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == TWIX)
|
|||
|
void TWI3_Int() interrupt 17 //TWIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x40)
|
|||
|
{
|
|||
|
USXCON0 &= 0xbf; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TWIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == SPIX)
|
|||
|
void SPI3_Int(void) interrupt 17 //SPIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON1 & 0X08) //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־<EFBFBD>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X08;
|
|||
|
}
|
|||
|
if(USXCON1 & 0X80) //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X80;
|
|||
|
SPIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
#elif (USCIX_Select == USCI4)
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void TWI4/SPI4/UART4_Int() interrupt 7
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCI2<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
#if (USCIX_Mode == UartX)
|
|||
|
void UART4_Int() interrupt 18 //UartX<74>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x02) //<2F><><EFBFBD>ͱ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFE;
|
|||
|
UartXSendFlag = 1;
|
|||
|
}
|
|||
|
if((USXCON0 & 0x01)) //<2F><><EFBFBD>ձ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFD;
|
|||
|
UartXReceiveFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == TWIX)
|
|||
|
void TWI4_Int() interrupt 18 //TWIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x40)
|
|||
|
{
|
|||
|
USXCON0 &= 0xbf; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TWIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == SPIX)
|
|||
|
void SPI4_Int(void) interrupt 18 //SPIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON1 & 0X08) //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־<EFBFBD>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X08;
|
|||
|
}
|
|||
|
if(USXCON1 & 0X80) //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X80;
|
|||
|
SPIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#elif (USCIX_Select == USCI5)
|
|||
|
#if (USCIX_Mode == UartX)
|
|||
|
void UART5_Int() interrupt 19 //UartX<74>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x02) //<2F><><EFBFBD>ͱ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFE;
|
|||
|
UartXSendFlag = 1;
|
|||
|
}
|
|||
|
if((USXCON0 & 0x01)) //<2F><><EFBFBD>ձ<EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON0 &= 0xFD;
|
|||
|
UartXReceiveFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == TWIX)
|
|||
|
void TWI5_Int() interrupt 19 //TWIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON0 & 0x40)
|
|||
|
{
|
|||
|
USXCON0 &= 0xbf; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TWIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#elif (USCIX_Mode == SPIX)
|
|||
|
void SPI5_Int(void) interrupt 19 //SPIX<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(USXCON1 & 0X08) //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־<EFBFBD>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X08;
|
|||
|
}
|
|||
|
if(USXCON1 & 0X80) //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
USXCON1 &= ~0X80;
|
|||
|
SPIXFlag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|