jialiang 发表于 2010-12-30 15:29:04

SPI 20bits

大家好,
    我现在有个芯片,SPI通信,数据格式是20位。
    请问用Mega32与它通信时,数据应该如何收发?

谢谢!

以下是数据格式:

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_608102NQRRIE.GIF
SPI格式 (原文件名:SPI-20.GIF)

hqwei 发表于 2010-12-30 16:16:43

需要模拟SPI

ssaweee 发表于 2010-12-30 16:21:43

csn软件控制

发三个8bit

wanpujame 发表于 2010-12-30 16:53:26

直接GPIO口模拟吧

mickey 发表于 2010-12-30 17:04:17


需要模拟SPI 好用

lalapunk1983 发表于 2010-12-30 17:10:06

硬件SPI一样好用。
unsigned char spi_ReadData(unsigned char device_add,unsigned char reg_add,unsigned char len,unsigned char reBuf[])
{
    unsigned char i;
    unsigned char temp;      
    RC6=0;                           
    spi_SendByte(device_add<<1);      
    spi_SendByte(reg_add);            
    spi_SendByte(len);               
    for(i=0;i<len+1;i++)            
    {
      *reBuf++=spi_SendByte(0x00);//读数据时候要发数据以提供读数据所需的时钟
    }
    RC6=1;                           
    /*比较CRC校验值*/
    for(i=0;i<len+1;i++)
    {
          temp=*reBuf++;
    }
    if(Get_CRC8(temp,(len+3))==temp)
      return 1;
    else
      return 0;
}
看了这个程序就知道了

machao 发表于 2010-12-30 20:20:06

这个需要根据你使用芯片。如果20BIT后的数据它不受影响,可以使用M32的SPI硬件口。

如果20BIT后的数据,会影响芯片的接收,只能采用I/O模拟的方法。

标准的SPI协议是面向字节的,一次为8BIT。

不过M051的SPI硬件口就可以,它可以定义SPI硬件接口每次发送的数据为 1bit - 32bit之间,可设置的。

目前看,M051比M32的性价比高多了。新的DD出来,当然有它的优点,否则如何抢占市场。
页: [1]
查看完整版本: SPI 20bits