spi通讯的问题 点击:318 | 回复:0



lsfsxfljj

    
发表于:2010-08-16 10:19:26
楼主

mtimer t = 1;
when(timer_expires(t)) //开机指定SPI缓冲
{
for (i=0; i<LEN; i++)
{
spi_Msg【i】 = 0;
}
io_out(spi_io, spi_Msg, LEN);
}

when(io_in_ready(spi_io)==LEN) //接收到SPI发过来的数据,通过总线发往PL3120
{
if (spi_Msg【1】!=0)
{
Networks_Send(spi_Msg);
}

io_out(spi_io, spi_Msg, LEN); //指定SPI缓冲
}

when(nv_update_occurs(in_Msg)) //收到PL3120来的数据
{
Networks_Receive(); //把数据放入MsgToMCU
for (i=0; i<LEN; i++) //把数据放入SPI缓冲
{
spi_Msg【i】 = MsgToMCU【i】;
}
io_out(spi_io, spi_Msg, LEN); //指定SPI缓冲
if (value_DataToMCU==0) //翻转电平,通知MCU来取
{
value_DataToMCU = 1;
io_out(DataToMCU, 1);
}
else
{
value_DataToMCU = 0; //翻转电平,通知MCU来取
io_out(DataToMCU, 0);
}
}

SPI设定为从模式,单片机设定为SPI主模式,功能是把单片机SPI发过来数据通过网络变量发出去

                                                                                                网络变量收进来的通知单片机来收

 

问题是网络变量收进来的通知单片机来收这个功能不行,好象发送缓冲没指定好,是不是发送缓冲指定都要在io_in_ready(spi_io)==LEN

之后啊



楼主最近还看过

SSI ļʱ