Пример #1
0
/*
void Clock()
{
    SCK = 1;
    SPI_delay(SDELAY);
    SCK = 0;
    SPI_delay(SDELAY);
}
*/
u8 SPI_Read_8Bits()
{
 u8 temp,i;
    for(i=0;i<8;i++)
    {
       SCK_LOW;
       SPI_delay(SDELAY);
       temp = temp<<1;
       if(PORTC & 0x10)
           temp = temp+1;
       else
           temp = temp+0;

       SCK_HIGH;
       SPI_delay(SDELAY);
       SPI_delay(SDELAY);
       //Clock();
    }
    return temp;
}
Пример #2
0
void SpiWrite( unsigned char spidataH, unsigned char spidataL )
{
    unsigned char BitBuffer, i;

    SPI_STB_H();
    BitBuffer = spidataL;
    for ( i = 0; i < 8; i++ )
    {
		SPI_CLK_L();
        if(0x01 & BitBuffer)
			SPI_DATA_H();
		else
			SPI_DATA_L();
		
		SPI_delay(1);
        SPI_CLK_H();
		SPI_delay(1);
        BitBuffer >>= 1;
        
    }

    BitBuffer = spidataH;
    for ( i = 0; i < 8; i++ )
    {
		SPI_CLK_L();
        if(0x01 & BitBuffer)
			SPI_DATA_H();
		else
			SPI_DATA_L();
		
		SPI_delay(1);
        SPI_CLK_H();
		SPI_delay(1);
        BitBuffer >>= 1;
        
    }
	SPI_CLK_L();
	SPI_STB_L();

}
Пример #3
0
void SPI_Send_8Bits(u8 data)
{
    u8 temp,i;
    temp = data;
    for(i=0;i<8;i++)
    {
       SCK_LOW;
       SPI_delay(SDELAY);

        if(temp&0x80)
            SDO_HIGH;
        else
            SDO_LOW;

        temp = temp<<1;
       SPI_delay(SDELAY);
        SCK_HIGH;
        SPI_delay(SDELAY);
        SPI_delay(SDELAY);
        //Clock();
    }
}