关于spi的问题
我在做ad7280a 的spi通信的时候发现,它是下降沿接收数据,上升沿发送数据的。<br> 而我选的pic单片机只有<br>如图: 也就是说,只能设置上升沿或者下降沿处理数据 <br><br>现在发送数据已经可以了 犯愁啊 有经历过这种情况的朋友吗 帮忙提点思路,谢谢 如果主器件不支持,用软件模拟时序即可。回复 楼主 sjl2001 的帖子
支持二楼,用软件模拟应该是可以的!回复 沙发 chunyang 的帖子
谢谢 手册上是这么说的 但是我没做改动 也能收发 等我找找原因回复 沙发 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的上升沿同时,这不对吧
发送正常请指点一下 楼主,用做STM32可以直接用用SPI通信吧
页:
[1]