打印
[ZLG-ARM]

lpc2106和max3100通信问题

[复制链接]
1977|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oasiswoo|  楼主 | 2008-3-20 18:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用SPI方式和max3100通信,lpc2106做主,CPOL=0;CPHA=0;通信程序如下,数据不对,大家看是什么问题
uint16 MSpiSendData(uint16 m_data)
{
  uint16 Rec_Data;
  uint16 Rec_DataH,Rec_DataL;
  IOCLR = CS_SPI;
  SPI_SPDR = (m_data>>8)&0xff;
  while(0==(SPI_SPSR&0x80));   //等待SPIF置位,即等待数据发送完毕
  Rec_DataH = SPI_SPDR;
  SPI_SPDR = m_data&0xff;
  while(0==(SPI_SPSR&0x80));
  Rec_DataL = SPI_SPDR;
  IOSET = CS_SPI;
  Rec_Data = (Rec_DataH<<8)&0xff00+Rec_DataL;
  return(Rec_Data);
}

相关帖子

沙发
zlgarm| | 2008-3-20 19:07 | 只看该作者

oasiswoo,您好!

您可以试试如下代码:

uint16 MSpiSendData(uint16 m_data)
{
  uint16 Rec_Data;
  uint16 Rec_DataH,Rec_DataL;

  IOCLR = CS_SPI;

  SPI_SPDR = (m_data>>8)&0xff;
  while(0==(SPI_SPSR&0x80));   //等待SPIF置位,即等待数据发送完毕
  
  SPI_SPDR = m_data&0xff;
  while(0==(SPI_SPSR&0x80));
  Rec_DataH = SPI_SPDR;

  SPI_SPDR = 0xFF;
  while(0==(SPI_SPSR&0x80));
  Rec_DataL = SPI_SPDR;

  IOSET = CS_SPI;

  Rec_Data = (Rec_DataH<<8)&0xff00+Rec_DataL;
  return(Rec_Data);
}

使用特权

评论回复
板凳
oasiswoo|  楼主 | 2008-3-20 19:51 | 只看该作者

非常感谢,我试后给您答复

使用特权

评论回复
地板
oasiswoo|  楼主 | 2008-3-21 12:01 | 只看该作者

效果一样啊,没有改变

使用特权

评论回复
5
lyl831015| | 2008-3-22 19:39 | 只看该作者

数据不对?

什么数据不对?主机发送出来的数据吗?

使用特权

评论回复
6
oasiswoo|  楼主 | 2008-3-23 15:46 | 只看该作者

spi回的数据不对

spi回的数据不对,所以我怀疑发的数据即3100接受的数据也不对,结果是无法完成对3100的配置

使用特权

评论回复
7
zcq30| | 2008-3-23 20:58 | 只看该作者

建议使用SC16IS750,有现成的代码。

Max3100那么贵那么不好卖的东西被你找到了。

使用特权

评论回复
8
zlgarm| | 2008-3-24 21:08 | 只看该作者

SPI部件

oasiswoo 您好:
   您的问题应该是时序格式没有选择正确造成的。关于时序格式的说明您可以参考以下说明来做。
                      on duty:zlgarm_zhanghuping       

使用特权

评论回复
9
oasiswoo|  楼主 | 2008-3-25 19:36 | 只看该作者

这些时序我都试验过

max3100的资料上是上升沿数据输出,下降沿数据输入,那么对于做主的2106而言就是上升沿数据输入下降沿数据输出,那么就是CPHA=0,CPOL=0;这个时序在以前用C8051F06系列单片的SPI时没有任何问题。如果我用I/O口线模拟这种方式,通信完全没有问题,但是就是用2106的SPI不能通信。而且别的时序组合方式我都做过试验,也是不行。现在不知道问题出在什么地方,只能暂时用口线的方式,用口线方式中断多了会不会丢数据,实在不行下次就换芯片了。如果有朋友使用过这两个芯片通信,我们可以交流一下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

1

粉丝