OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2266|回复: 0

STM32F1战舰版,固件库使用SPI与w25qxx通信的一个小bug

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2020-2-23
在线时间
7 小时
发表于 2020-6-18 20:43:02 | 显示全部楼层 |阅读模式
  1. void W25QXX_Write_NoCheck(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)   
  2. {                                           
  3.         u16 pageremain;          
  4.         pageremain=256-WriteAddr%256; //单页剩余的字节数
  5.         /*上面一行这里应该不是对WriteAddr的求余,应该是对NumByteToWrite的求余;结合下文可知*/

  6.        
  7.         if(NumByteToWrite<=pageremain)pageremain=NumByteToWrite;//不大于256个字节
  8.         while(1)
  9.         {          
  10.                 W25QXX_Write_Page(pBuffer,WriteAddr,pageremain);
  11.                 if(NumByteToWrite==pageremain)break;//写入结束了
  12.                  else //NumByteToWrite>pageremain
  13.                 {
  14.                         pBuffer+=pageremain;
  15.                         WriteAddr+=pageremain;       

  16.                         NumByteToWrite-=pageremain;                          //减去已经写入了的字节数
  17.                         if(NumByteToWrite>256)pageremain=256; //一次可以写入256个字节
  18.                         else pageremain=NumByteToWrite;           //不够256个字节了
  19.                 }
  20.         };            
  21. }
复制代码
具体数据在w25qxx.c第155行,也不太确定是不是Bug,但是觉得是bug,如果是bug,逻辑就通顺了,前排小板凳围观。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 18:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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