sjl2001 发表于 2011-8-15 15:00

关于spi的问题

&nbsp;&nbsp; &nbsp;我在做ad7280a 的spi通信的时候发现,它是下降沿接收数据,上升沿发送数据的。<br>&nbsp;&nbsp; &nbsp;而我选的pic单片机只有<br>如图: 也就是说,只能设置上升沿或者下降沿处理数据&nbsp;<br><br>现在发送数据已经可以了 犯愁啊 &nbsp;有经历过这种情况的朋友吗 帮忙提点思路,谢谢

chunyang 发表于 2011-8-15 19:11

如果主器件不支持,用软件模拟时序即可。

fangzhh2008 发表于 2011-8-16 13:22

回复 楼主 sjl2001 的帖子

支持二楼,用软件模拟应该是可以的!

sjl2001 发表于 2011-8-16 23:35

回复 沙发 chunyang 的帖子

谢谢 手册上是这么说的 但是我没做改动 也能收发 等我找找原因

sjl2001 发表于 2011-8-19 09:37

回复 沙发 chunyang 的帖子

unsigned long spi(unsigned long Data_send)
{ unsigned char i;
unsigned long Data_receive,j;
j=Data_send;
SCLK=0;SDI=1;
CS=0;
for(i=0;i<32;i++)//"发数据
        {

        if (SDI) {Data_receive=Data_receive|0x00000001;}   
           asm ("nop");
        Data_receive=Data_receive<<1;   
        SCLK=1;
    asm ("nop");
        if (j&0x80000000){SDO=1;}
                        else SDO=0;
        asm ("nop");       
        j=j<<1;
        SCLK=0;

   }
   CS=1;
        delay(2);//延时3us
return Data_receive;


这是我写的一个模拟代码 但是有一个问题,上升沿接收的时候,SDI的上升沿总和clk的上升沿同时,这不对吧   

发送正常请指点一下

daishibai 发表于 2017-5-19 16:28

楼主,用做STM32可以直接用用SPI通信吧
页: [1]
查看完整版本: 关于spi的问题