极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11018|回复: 8

多个SPI口冲突问题

[复制链接]
发表于 2014-4-29 14:21:48 | 显示全部楼层 |阅读模式
目前我在开发一款产品,使用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);
  }


回复

使用道具 举报

发表于 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的开关在哪里呢,库里面可能只负责开,不负责关,试一下人为地开关一下.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-29 22:29:29 来自手机 | 显示全部楼层
林定祥 发表于 2014-4-29 16:52
D9,D10的开关在哪里呢,库里面可能只负责开,不负责关,试一下人为地开关一下.

人为的怎么关
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-29 22:30:00 来自手机 | 显示全部楼层
Domfecpedals 发表于 2014-4-29 15:04
你程序里的serial print只是串口打印吧  
试试把TFT打印移到nfc的if外面 看看能不能成功

我试过了。好像不行。
回复 支持 反对

使用道具 举报

发表于 2014-4-30 00:02:18 | 显示全部楼层
mazdasun 发表于 2014-4-29 22:29
人为的怎么关

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

使用道具 举报

 楼主| 发表于 2014-4-30 07:17:44 来自手机 | 显示全部楼层
还是不太清楚
回复 支持 反对

使用道具 举报

发表于 2014-4-30 07:30:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-10 04:20 , Processed in 0.045406 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表