NM25Q128 读取设备id为 0xFFFF

        看b站江科大的视频,自己学习写软件spi程序的时候,在读取设备id的时候遇到了读取出来为0xFFFF的情况,反复检查很久也没找到问题所在。后来运行正点原子的HAL库程序源码,打印出来居然还是0xFFFF,发现可能是芯片的问题。于是看了寄存器版本的代码,运行的时候执行了两次读取设备id的函数,结果第二次就能够正确打印了。

        所以我认为是NM25Q128芯片第一次接收指令集的时候不会做出响应,所以向芯片随便发送一个指令集(如0xFF),应该芯片就能正常响应了。

spi_start();//读取ID前向芯片发送一个FF指令
spi_swapByte(0xFF);
spi_stop();
    
nm25q128_readREMS(&MID, &DID);//正常读取ID
printf("MID = %x, DID = %x\r\n", MID, DID);

        这一点我不知道是NM25Q128芯片的特性还是什么,反正江科大用的芯片不用先执行一个指令集再进行读取,正点原子的老师好像也没讲NM25Q128芯片的这点特性,坑了我整个半天。。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值