58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
|
#include "H/Function_Init.H"
|
|||
|
|
|||
|
#define USCI0_Mode SPI0
|
|||
|
|
|||
|
void Uart0_Init(uint Freq,unsigned long int baud);
|
|||
|
void TWI0_Init(void);
|
|||
|
void SPI0_Init(void);
|
|||
|
|
|||
|
bit Uart0SendFlag = 0; //Uart0<74><30><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
|||
|
bit Uart0ReceiveFlag = 0; //Uart0<74><30><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
|||
|
bit SPI0Flag = 0; //SPI0<49><30><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
|||
|
bit TWI0Flag = 0; //TWI0<49>жϱ<D0B6>־λ
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void USCI0_Test(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>USCI0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void USCI0_Test(void)
|
|||
|
{
|
|||
|
SPI0_Init();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
US0CON2 = 0xAA;
|
|||
|
while(!SPI0Flag);
|
|||
|
SPI0Flag = 0;
|
|||
|
Delay(1000);
|
|||
|
}
|
|||
|
}
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void SPI0_Init(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>SPI0<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void SPI0_Init(void)
|
|||
|
{
|
|||
|
OTCON |= 0X10; //ѡ<><D1A1>SPI0ģʽ
|
|||
|
US0CON0 = 0x3F; //<2F><><EFBFBD><EFBFBD>SPI0Ϊ<30><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
|
|||
|
US0CON1 = 0x01; //MSB<53><42><EFBFBD>ȷ<EFBFBD><C8B7>ͣ<EFBFBD>8λ<38><CEBB><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
US0CON0 |= 0x80; //<2F><><EFBFBD><EFBFBD>SPI0
|
|||
|
IE1 |= 0x01;
|
|||
|
EA = 1;
|
|||
|
}
|
|||
|
|
|||
|
void Spi0_Int(void) interrupt 7 //SPI0<49>жϺ<D0B6><CFBA><EFBFBD>
|
|||
|
{
|
|||
|
if(US0CON1&0X08) //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־<EFBFBD>ж<EFBFBD>
|
|||
|
{
|
|||
|
US0CON1 &= ~0X08;
|
|||
|
}
|
|||
|
if(US0CON1&0X80) //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE>ж<EFBFBD>
|
|||
|
{
|
|||
|
US0CON1 &= ~0X80;
|
|||
|
SPI0Flag = 1;
|
|||
|
}
|
|||
|
}
|