Weight_Bed/USCI1_Init.c

64 lines
1.5 KiB
C
Raw Permalink Normal View History

2024-05-17 15:11:04 +08:00
#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><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