用单片机于MRFC522与单片接时,加上485通讯后出现很诡异的像:

只要485芯片上有收到外部发送的信号时RC522就死掉,经过仿真卡在了SPI的收发部分(等待回复)

u8 MFRC522WriteByte(u8 Byte)
{
{int i = 0; while((SPI1->SR&0X02)==0 && i < 0xff) i++;} //等待发送区空
SPI1->DR=Byte; //发送一个byte
{int i = 0; while((SPI1->SR&0X01)==0&& i < 0xff) i++;}; //等待接收完一个byte
return SPI1->DR; //返回收到的数据
}
 
初步分析是因为485收到的数据过于频繁,导致RC522操作过程中被中断而超时,于是把485主机端发送停止掉,
再测试果然是,以为就是RC522通讯过程中不能中断,然后把RC522的SPI通讯部分改成不中断的:
 
u8 MFRC522WriteByte(u8 Byte)
{
__enable_irq();
{int i = 0; while((SPI1->SR&0X02)==0 && i < 0xff) i++;} //等待发送区空
SPI1->DR=Byte; //发送一个byte
{int i = 0; while((SPI1->SR&0X01)==0&& i < 0xff) i++;}; //等待接收完一个byte
return SPI1->DR; //返回收到的数据
__disable_irq();
}

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

再测试,还没法通讯,把串口关了还是不行,此时得到的结论是:由于485总线上发送的数据叠加在RC522天线上,

或者是说由于485芯片上的信号导致的RC522无法工作。用示波器测量天线的发送信号,和485信号,电源。天线

信号幅值偏低,通讯时波动比较大。

 

解决办法:在RC522的电源上加大续流电容。

MFRCC522 SPI无法通讯【worldsing笔记】的更多相关文章

  1. PX01关于手机屏SPI触摸调试学习笔记

    上位机工具:http://www.xk-image.com/download/blog/0002_TP调试/LcdTools20210605.rar 调试案例:http://www.xk-image. ...

  2. STM32F412应用开发笔记之三:SPI总线通讯与AD采集

    本次我们在NUCLEO-F412ZG试验模拟量输入采集.我们的模拟量输入采用ADI公司的AD7705,是一片16位两路差分输入的AD采集芯片.具有SPI接口,我们将采用SPI接口与AD7705通讯.两 ...

  3. 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】

    通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言 ...

  4. xmpp即时通讯的笔记(摘抄)

    xmpp的使用: 即时通讯 instant messaging(IM) :  -->实时收发信息! 即时通讯相关软件: **QQ,MSN,GoogleTalk,AIM,Jabber(XMPP别名 ...

  5. emWin(ucGui)数值显示例程 -【worldsing笔记】

    本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip   在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值.然而,有时候这会是件困难的事.通 ...

  6. WS103C8例程——串口2【worldsing笔记】

    在超MINI核心板 stm32F103C8最小系统板上调试Usart2功能:用Jlink 6Pin接口连接WStm32f103c8的Uart2,PC机向mcu发送数据,mcu收到数据后数据加1,回传给 ...

  7. Keil Mdk5.0 破解包 和谐包【worldsing笔记】

    有关Keil MDK 5.0的介绍和下载 http://www.cnblogs.com/worldsing/p/3355911.html 下载地址 点击下载:http://pan.baidu.com/ ...

  8. 射频识别技术漫谈(12)——三次相互认证【worldsing笔记】

    射频识别系统中由于卡片和读写器并不是固定连接为一个不可分割的整体,二者在进行数据通讯前如何确信对方的合法身份就变得非常重要.根据安全级别的要求不同,有的系统不需认证对方的身份,例如大多数的TTF模式的 ...

  9. 射频识别技术漫谈(11)——Mifare系列卡的共性【worldsing笔记】

    Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...

随机推荐

  1. [itint5]跳马问题加强版

    http://www.itint5.com/oj/#12 首先由跳马问题一,就是普通的日字型跳法,那么在无限棋盘上,任何点都是可达的.证法是先推出可以由(0,0)到(0,1),那么由对称型等可知任何点 ...

  2. [Unity菜鸟] Unity发布web后,从HTML调用本地文件

    1. 遇到的问题 从xml读数据,xml的编码用中文就会乱码,改编码格式就调用不了.目前采用默认的ANSI编码. .exe    .txt  .xlsx  .xml  .test Run     √ ...

  3. ANDROID_MARS学习笔记_S01_010日期时间控件

    1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  4. C# Winform应用程序占用内存较大解决方法整理

     微软的 .NET FRAMEWORK 现在可谓如火如荼了.但是,.NET 一直所为人诟病的就是“胃口太大”,狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰,尤其 ...

  5. Django Navi 重用

    代码来自这里: base.html <html> <head>...</head> <body> ... {% block nav %} <ul ...

  6. mysql 更新唯一主键列 被堵塞

    mysql> select @@tx_isolation; +-----------------+ | @@tx_isolation | +-----------------+ | REPEAT ...

  7. WINCE6.0+ILI9806E休眠唤醒显示异常问题

    我们的系统WINCE6.0,它支持睡眠和唤醒,目的是想在不使用的时候让设备进入睡眠状态,降低功耗,我们遇到的问题就是设备正常启动后正常显示,但睡眠然后唤醒后要么显示白屏要么是条纹状白屏,如下图: 图1 ...

  8. [ffmpeg 扩展第三方库编译系列] 关于libopenjpeg mingw32编译问题

    在mingw32如果想编译libopenjpeg 会比较麻烦 会出现undefined reference to `_imp__opj_destroy_cstr_info@4' 等错误 因此编译时候需 ...

  9. Windows 7/8 创建WIFI热点

    问题描述:很多人(特别是中国的大学生)都拥有一台联网的笔记本电脑,而手机使用的却是电信运营商提供的限制数量和速度的GPRS. 很多人不敢想象:联网的笔记本电脑能够将其流量以WiFi的形式共享出来供其它 ...

  10. Lua从入门到精通

    1. 入门指南 http://www.cnblogs.com/linbc/archive/2009/06/02/1494622.html