mazdasun 发表于 2014-4-29 14:21:48

多个SPI口冲突问题

目前我在开发一款产品,使用uno连接液晶显示和NFC模块,都用 SPI口通讯。我已经将两个模块的片选信号改到uno的d9和d10,这两个模块和uno分别连接都是好的。但同时使用就不能用了。好像有冲突,求高人指点。程序基本的意思就是刷NFC卡后uno开始计时并显示在液晶显示屏上。

void setup()
{
    Serial.begin(9600);
    nfc.begin();
    Serial.println("NDEF Reader");
   
    TFT_BL_ON;      // turn on the background light
    Tft.TFTinit();// init TFT library



void loop()
{
   // nfc.begin();
    Serial.println("\nScan a NFC tag\n");
   if (nfc.tagPresent())
    {
      NfcTag tag = nfc.read();
       // tag.print();
       //Serial.println(tag.getTagType());
      Serial.print("UID: ");Serial.println(tag.getUidString());
      count_start = 1;
       delay(50);
}


Domfecpedals 发表于 2014-4-29 15:04:55

你程序里的serial print只是串口打印吧
试试把TFT打印移到nfc的if外面 看看能不能成功

智能创客 发表于 2014-4-29 15:15:59

把spi的cs和ce(如果有)区分,其它的接在同一io口。

林定祥 发表于 2014-4-29 16:52:03

D9,D10的开关在哪里呢,库里面可能只负责开,不负责关,试一下人为地开关一下.

mazdasun 发表于 2014-4-29 22:29:29

林定祥 发表于 2014-4-29 16:52
D9,D10的开关在哪里呢,库里面可能只负责开,不负责关,试一下人为地开关一下.

人为的怎么关

mazdasun 发表于 2014-4-29 22:30:00

Domfecpedals 发表于 2014-4-29 15:04
你程序里的serial print只是串口打印吧
试试把TFT打印移到nfc的if外面 看看能不能成功

我试过了。好像不行。

Domfecpedals 发表于 2014-4-30 00:02:18

mazdasun 发表于 2014-4-29 22:29 static/image/common/back.gif
人为的怎么关

库里应该是会关的 每一次写spi都是开然后关你可以看看库的源码 对照时序图看看有没有什么问题

mazdasun 发表于 2014-4-30 07:17:44

还是不太清楚

弘毅 发表于 2014-4-30 07:30:09

可以参考这篇帖子
http://www.geek-workshop.com/thread-694-1-1.html
页: [1]
查看完整版本: 多个SPI口冲突问题