[分享] 【nRF52840 DK测评】+52840的NFC(一)

lehuijie   2018-12-23 13:43 楼主
最近有点忙,加上52840一直没有玩转,就很久没发帖了。打开nordic的sdk包的nRF5_SDK_15.2.0_9412b96\examples\nfc\nfc_uart\tag文件,通过mdk或者nrf的segger IDE工具查看编译源码。
下面看源代码:
360截图1653071396131127.png
nrf的程序很有意思,他把判断等待和其他函数整合在一起,这会比较容易读,但是写这程序就比较难了,很容易顺序就出错导致程序有问题。另外,他家的函数,总是封装再封装,一个同样的函数可能表现出来的有好几种名称。

1,2是设置NFC,也就是初始化NFC的功能,但是SDK下的源码这两个函数是不存在的,导致读取到的NFC一直无数据,就是这个浪费了我好多天。
3处的代码是读取NFC块的数据存放到一个地址之中,函数是对get的一个封装,从参数看就是指向NFC的接收区。
360截图16300504206064.png
4处,只是把fifo_put封装成指向uart,可以理解成就是一个串口输出函数

5,6是3,4的反向输出,从uart读取,NFC输出
  1. uint32_t app_fifo_put(app_fifo_t * p_fifo, uint8_t byte)
  2. {
  3.     if (FIFO_LENGTH() <= p_fifo->buf_size_mask)
  4.     {
  5.         fifo_put(p_fifo, byte);
  6.         return NRF_SUCCESS;
  7.     }

  8.     return NRF_ERROR_NO_MEM;
  9. }

这代码是不是和上面的差不多。

把52840的nfc线圈插入,用pn532读取,由于没有初始化成功(我是这么觉得),导致读出来的NFC块全是0,另外tag历程是无法用532写入的,只能读取,数据只能靠程序中配置,通过NFC读取。
cccc6.png

第一次玩nrf系类芯片,可能有很多错的地方希望大佬能指正

回复评论 (1)

嗯 ,谢谢你的分享!能分享就很好!继续加油!期待你的大作 !有问题可以共同讨论!
专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void
点赞  2019-1-7 13:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复