/*SPI数据发送验返回读取165值*/ uchar SPI_MasterTransmit(unsigned char i) {
SPDR = i; /* 启动数据传输 */ while (!(SPSR & (1<<SPIF))); /* 等待传输结束 */ return SPDR; } /*595数据输出,165数据存入*/ uint SPI_595_Out(unsigned int i) { uint j; //PORTB &= ~(1 << 4); /*准备锁存*/ j=SPI_MasterTransmit(i>>8); j=(j<<8); j|=SPI_MasterTransmit(i); PORTB &= ~(1 << 4); PORTB |= (1 << 4); /*锁存数据*/ return j;
} |