野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7962|回复: 10

望指点,买的官方店的射频模块用串口测试接收不到射频卡号

[复制链接]
回帖奖励 10 火花 回复本帖可获得 5 火花奖励! 每人限 1 次(中奖概率 60%)
发表于 2017-7-24 14:13:52 | 显示全部楼层 |阅读模式
买了一些野火的模块,虽然比一些店贵一些,但是野火东西的质量我是绝对放心的。但是使用RC522射频模块时,用串口测试接收不到射频卡号。用的火哥给的程序,我就是把关于液晶显示那一部分注释掉了,其他的没有动过,虽然这次用的不是火哥的板子做的测试,但是用的还是F103ZE的,SPI1相关引脚定义是一样的,肯定没有接错线,也没有接其他外设,就是单纯的想通过串口接收射频卡号。我觉得程序肯定是通用的,没道理说换块板子就不行了(ps:板子是能用的,而且我换过其他板子结果都一样),弄了好久没弄出来客服让我发帖说会有技术人员帮解决,望各位大神帮小弟看一下原因可能出在哪里,感谢感谢。 [size=0.83em]QQ截图20170722173306.png (80 KB, 下载次数: 0)
下载附件
[color=rgb(153, 153, 153) !important]前天 17:35 上传



        如图,我只改了这些,就是把关于lcd的注释掉了,其他所有的没有动过。单步调试的时候程序卡在第16行
下面是运行结果和整个工程
ISO-V2.zip (6.87 MB, 下载次数: 1)
回复

使用道具 举报

发表于 2017-7-25 10:01:20 | 显示全部楼层

回帖奖励 +5 火花

没看出是什么原因,具体它卡在哪一个语句呢,第16行是个函数,可能在内部某个语句卡死了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-9 22:36:16 | 显示全部楼层
flyleaf 发表于 2017-7-25 10:01
没看出是什么原因,具体它卡在哪一个语句呢,第16行是个函数,可能在内部某个语句卡死了

我刚才发现所有的引脚火哥·都定义为通用推挽输出模式,这样没问题吗?
回复 支持 反对

使用道具 举报

发表于 2017-8-10 09:01:07 | 显示全部楼层
Jesse_ice 发表于 2017-8-9 22:36
我刚才发现所有的引脚火哥·都定义为通用推挽输出模式,这样没问题吗?

那你把MISO改成输入试试,这程序在我们的板子跑没有问题,
你重新下载资料看看:
RC522 RFID模块配套资料


百度网盘 下载链接:http://pan.baidu.com/s/1pLcto4V
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-10 22:31:46 | 显示全部楼层
flyleaf 发表于 2017-8-10 09:01
那你把MISO改成输入试试,这程序在我们的板子跑没有问题,
你重新下载资料看看:
RC522 RFID模块配套资 ...

嗯嗯,我下的是这个资料,这个程序不是可以读取卡号通过串口调试助手显示吗?我的不知为甚一直无法显示
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-10 22:54:18 | 显示全部楼层
flyleaf 发表于 2017-8-10 09:01
那你把MISO改成输入试试,这程序在我们的板子跑没有问题,
你重新下载资料看看:
RC522 RFID模块配套资 ...

而且我是直接下到板子里一个字都没改
回复 支持 反对

使用道具 举报

发表于 2017-8-11 08:58:07 | 显示全部楼层
Jesse_ice 发表于 2017-8-10 22:54
而且我是直接下到板子里一个字都没改

把液晶加上看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-11 15:56:01 | 显示全部楼层
flyleaf 发表于 2017-8-11 08:58
把液晶加上看看

现在身边没有液晶,可是加不加液晶应该不会影响串口显示吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-11 20:47:59 | 显示全部楼层
flyleaf 发表于 2017-8-11 08:58
把液晶加上看看

程序卡在PcdComMF522()函数,RC522无法和和ISO14443卡通讯,发送不了命令字,不会是模块不能用吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-12 11:30:33 | 显示全部楼层
flyleaf 发表于 2017-8-11 08:58
把液晶加上看看

一直都是检测不到卡片,好像就卡在下面寻卡那里if ( ul != 0 )判断错误进不去,换了论坛里坛友分享的优秀代码结果一样,到底是什么原因呐
    if ( ucCommand == PCD_TRANSCEIVE )
                        SetBitMask(BitFramingReg,0x80);                                  //StartSend置位启动数据发送 该位与收发命令使用时才有效
   
    ul = 1000;//根据时钟频率调整,操作M1卡最大等待时间25ms               
    do                                                                                                                 //认证 与寻卡等待时间       
    {
         ucN = ReadRawRC ( ComIrqReg );                                                        //查询事件中断
         ul --;
    } while ( ( ul != 0 ) && ( ! ( ucN & 0x01 ) ) && ( ! ( ucN & ucWaitFor ) ) );                //退出条件i=0,定时器中断,与写空闲命令
               
    ClearBitMask ( BitFramingReg, 0x80 );                                        //清理允许StartSend位
               
    if ( ul != 0 )
    {
                        if ( ! ( ReadRawRC ( ErrorReg ) & 0x1B ) )       


坛友分享的优秀代码:
RC522和STM32硬件SPI通讯
http://www.firebbs.cn/forum.php? ... 7&fromuid=25388
(出处: 野火论坛)
回复 支持 反对

使用道具 举报

发表于 2017-8-14 08:59:50 | 显示全部楼层
Jesse_ice 发表于 2017-8-12 11:30
一直都是检测不到卡片,好像就卡在下面寻卡那里if ( ul != 0 )判断错误进不去,换了论坛里坛友分享的优秀 ...

你的板子是不是共用了引脚啊,没有液晶的话你把程序里的液晶函数都去掉看看
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-27 14:01 , Processed in 0.049988 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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