因仑“3+1”工程特种兵精英论坛

标题: 模拟SPI程序书写思路 [打印本页]

作者: 天道出勤    时间: 2016-4-18 21:54
标题: 模拟SPI程序书写思路

void SPI_SEND_ONE_DATA(uchar i)    //SPI发一个字节
{
  uchar loop;
  uint delay;
  uchar temp;
  temp = 0x80;
  for(loop = 0; loop < 8; loop++)
  {
   if((i & (temp >> loop)))
    DIN_1;
   else
     DIN_0;
   for(delay = 10;delay > 0; delay--);
   SCLK_1;
   for(delay = 50;delay > 0; delay--);
   SCLK_0;
   for(delay = 50;delay > 0; delay--);
  }
//  for(delay = 50;delay> 0; delay--);
}

uchar SPI_READ_ONE_DATA(void)  //SPI收一个字节
{
  uchar loop;
  uint delay;
  uchar temp;
  uchar i;
  i = 0x00;
  for(loop = 0; loop < 8; loop++)
  {
   i = i << 1;
   SCLK_1;
   for(delay = 50; delay > 0; delay--);
   temp = P1IN;
   if((temp & 0x08))
     i |= 0x01;
   SCLK_0;
   for(delay = 50;delay > 0; delay--);
  }
//  for(delay = 50;delay > 0; delay--);
  return i;
}






欢迎光临 因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4