MiniCat 发表于 2012-7-31 15:02:10

求R8C/1B R5F211B4 SPI的例程

最近在用R5F211B4的SPI,搞了好几天都没有效果,谁能给一段参考代码,让我看看哪里出了问题,谢谢。

MiniCat 发表于 2012-7-31 23:09:33

现在用软件模拟了个SPI,先凑合用了,硬件的SPI怎么调都没有反应,硬件的SPI有人用过吗?

小混hun 发表于 2012-9-20 09:16:52

例程能共享下不楼主?教我软件调试下....初学者很多都不懂!我的扣扣是994881821

MiniCat 发表于 2012-9-26 12:20:03

小混hun 发表于 2012-9-20 09:16 static/image/common/back.gif
例程能共享下不楼主?教我软件调试下....初学者很多都不懂!我的扣扣是994881821 ...

/*****************************************
功能描述:SPI指定地址写1字节数据
参    数:uchar add   目标地址
                  uchar data        数据
返 回 值:无
*****************************************/
void SpiWriteAddressData(uchar add, uchar data)
{
    unsigned char i;
    nSET_CLR;
    add = add | 0x80;          //写操作
    for(i=0;i<8;i++)         //先写地址
    {
      if((add&0x80)==0x80)
            SDI_SET; //DIN=1
      else
            SDI_CLR; //DIN=0
      DelayUs(1);
      SCLK_SET;    //CLK=1
      DelayUs(2);
      SCLK_CLR;    //CLK=0
      add = add << 1;
      DelayUs(1);
    }
    for(i=0;i<8;i++)         //再写数据
    {
      if((data&0x80)==0x80)
            SDI_SET; //DIN=1
      else
            SDI_CLR; //DIN=0
      DelayUs(1);
      SCLK_SET;    //CLK=1
      DelayUs(2);
      SCLK_CLR;    //CLK=0
      data = data << 1;
      DelayUs(1);
    }
    nSET_SET;
}
/*****************************************
功能描述:SPI指定地址读1字节数据
参    数:uchar add   目标地址
返 回 值:指定地址数据
*****************************************/
uchar SpiReadAddressData(uchar add)
{
    unsigned char i,data;
    nSET_CLR;
    add = add & 0x7f;          //读操作
    for(i=0;i<8;i++)         //先写地址
    {
      if((add&0x80)==0x80)
            SDI_SET; //DIN=1
      else
            SDI_CLR; //DIN=0
      DelayUs(1);
      SCLK_SET;    //CLK=1
      DelayUs(2);
      SCLK_CLR;    //CLK=0
      add = add << 1;
      DelayUs(1);
    }
    data = 0;
    for(i=0;i<8;i++)         //再写数据
    {
      DelayUs(1);
      data = data << 1;
      SCLK_SET; //CLK=1
      DelayUs(2);
      if(SDO_H)
            data++;
      DelayUs(1);
      SCLK_CLR; //CLK=0
      DelayUs(1);
    }
    nSET_SET;
    return (data);
}
页: [1]
查看完整版本: 求R8C/1B R5F211B4 SPI的例程