64 lines
1.5 KiB
C
64 lines
1.5 KiB
C
|
#include "H/Function_Init.H"
|
|||
|
|
|||
|
void SPI1_Init(void);
|
|||
|
|
|||
|
bit Uart1SendFlag = 0; //Uart1<74><31><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
|||
|
bit Uart1ReceiveFlag = 0; //Uart1<74><31><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
|||
|
bit SPI1Flag = 0; //SPI1<49><31><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
|||
|
bit TWI1Flag = 0; //TWI1<49>жϱ<D0B6>־λ
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void USCI1_Test(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCI1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void USCI1_Test(void)
|
|||
|
{
|
|||
|
SPI1_Init();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
US1CON2 = 0xAA;
|
|||
|
while(!SPI1Flag);
|
|||
|
SPI1Flag = 0;
|
|||
|
Delay(1000);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void SPI1_Init(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>SPI1<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void SPI1_Init(void)
|
|||
|
{
|
|||
|
OTCON |= 0X40; //ѡ<><D1A1>SPI1ģʽ
|
|||
|
US1CON0 = 0x3F; //<2F><><EFBFBD><EFBFBD>SPI1Ϊ<31><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
|
|||
|
US1CON1 = 0x01; //MSB<53><42><EFBFBD>ȷ<EFBFBD><C8B7>ͣ<EFBFBD>8λ<38><CEBB><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
US1CON0 |= 0x80; //<2F><><EFBFBD><EFBFBD>SPI1
|
|||
|
IE2 |= 0x01;
|
|||
|
EA = 1;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void TWI1/PI/UART1_Int() interrupt 7
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCI1<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
#if (USCI1_Mode == SPI1)
|
|||
|
void Spi1_Int(void) interrupt 15 //SPI1<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(US1CON1&0X08) //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־<EFBFBD>ж<EFBFBD>
|
|||
|
{
|
|||
|
US1CON1 &= ~0X08;
|
|||
|
}
|
|||
|
if(US1CON1&0X80) //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
US1CON1 &= ~0X80;
|
|||
|
SPI1Flag = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|