嵌入式应用编程经验之谈-as3911

  这里初次接触非接触类IC卡的项目,对于读卡芯片的编程应用也是不断在学习摸索。这里主控用的是(STM32F103)系列。这里对于读卡芯片的应用编程,主要是要熟悉其应用的操作步骤,和一些需要注意的关键点。下面的BUG就是我在项目中所得到的经验总结。

  问题描述:

    当时发现主板运行起来,前面几次都可以正常读卡,但是突然就不能再读卡。读卡功能无法正常工作,由于没有项目经验这里也是走了很多弯路,没有很快的定位问题的所在。

 解决过程:

   从读卡芯片初始化以及端口配置开始核对排查,这里因为没有经验也是参考公司前辈的代码,虽然项目需求不一样但也是读卡项目,当然也有一定的参考性。其实这里通过问题我们可以看到既然前面可以正常读卡,但是读了几次就不能读啦!这里应该可以排除是基础配置的问题。问题应该就在读写卡的应用编程中。

 BUG所在:

  这里万万没想到问题出现在我们常用的return语句上,这里由于读写卡过程中发现并不是对于卡片的每次操作都可以成功,所以我们需要在应用编程中加上了一些判断确保相关操作正确完成后对数据经行处理。一旦中途出错便用return返回,重新经行下次操作。没想到问题便出在这里。

学习总结

  这里最后发现当读卡芯片进入了读写模式后,在读块写块的过程中一旦没能操作成功,我们也需要有退出读写模式的函数操作,而不是简单的返回退出,经行下一次的重复操作。这里由于中途出现读写失败,函数return返回而没有经行相关退出模式的操作,导致芯片一直处于读写模式,而不能再次正常读卡。所以当我们做读卡项目的时候,我们一定需要注意每次都要有完整的模式操作,以免造成不必要的麻烦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值