天天看點

單片機模拟spi通信

#include <reg52.h> sbit SCLK  = P2^0;                                         sbit MOSI  = P2^1;                                         sbit MISO  = P2^2;                                         sbit CS    = P2^3;                                         typedef unsigned  char u8; u8 SPI_WriteRead(u8 Data) { u8 i; u8 retval = 0;                                       for (i = 0; i < 8; i++)                             { SCLK = 0; retval <<= 1; MOSI = ( Data & 0x80)? 1: 0;          SCLK = 1;                                     MISO = 1; retval |= MISO;                           Data  <<= 1;                               } SCLK = 0; return retval; }

繼續閱讀