vkic007的个人空间 https://passport2.21ic.com/?805060 [收藏] [复制] [RSS]

日志

s3c2440spi使用总结(vk3234的spi扩展串口)

热度 3已有 2440 次阅读2013-6-13 16:48 |系统分类:通信网络

由于我在使用spi的时候发的一些细节写出来和大家分享一下。

前段时间我一直在调试用硬件spi来控制一款串口扩展芯片vk3234

这款芯片的时序有点特殊,即对芯片操作必须是双字节操作。

我再调试的时候发现的一些规律

无论我们是操作rSPRDAT0还是rSPTDAT0的时候,时钟引脚都会产生相应的8位时钟信

  void spi_send_byte(U8 dat)
{   //vk32xx_cs0();
  rSPTDAT0=dat;
 
 while(!(rSPSTA0&0x01))//准备就绪退出循环
 ;
 //vk32xx_cs1();
 //return rSPRDAT0;
}
 U8 spi_read_byte(U8 dat)
{  U8 data1;
      vk32xx_cs0();
   
  rSPTDAT0=dat;
 while(!(rSPSTA0&0x01))//准备就绪退出循环
 ;

delay1(0xf);
 rSPTDAT0=0xff;
 while(!(rSPSTA0&0x01))//准备就绪退出循环
 ;
   vk32xx_cs1();
 //Uart_Printf("\nidx=0x%x\n",rSPRDAT0);
 data1=rSPRDAT0;
 //Uart_Printf("\nidx=0x%x\n",data1);
 return data1;
}

void vk3xxx_write_reg(U8 port,U8 reg,U8 dat)
{   vk32xx_cs0();
    delay1(0x8f);
 spi_send_byte(0x80+((port-1)<<5)+(reg<<1));
 spi_send_byte(dat);
 delay1(0x4ff);
 vk32xx_cs1();
}

U8 vk3xxx_read_reg(U8 port,U8 reg)

 
   return spi_read_byte(((port-1)<<5)+(reg<<1));
   
}

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)