OpenEdv-开源电子网

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

求助,W25QXX_Write函数怎么不能写?

[复制链接]

19

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2017-11-14
在线时间
25 小时
发表于 2018-12-12 08:40:54 | 显示全部楼层 |阅读模式
10金钱
各位道友:
     基于官方的W25QXX_Write函数和官方的767开发板,写了一个保存参数的函数,如下:
#define PARA_Sector 3072//
#define SEC_SIZE 4096//页大小

void SAVE_PARA(void)
{                                    // 参数结构起始地址           固定宏定义                         结构大小,306字节
        W25QXX_Write((u8 *)&ParaMsg.SaveFlag,     PARA_Sector*SEC_SIZE,        sizeof(struct PARAMSG));
}
   仅修改参数结构提ParaMsg内的一个累加计数,读出-》加1-》写入(SAVE_PARA)这种,就是为了测试保存是否成功,基于ucos+emwin开发,在初始化阶段,创建窗口以前调用成功率100%,只要创建了窗口在调用,几乎不会成功。但是跟踪也没见异常。能指点一下不?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-12-13 03:02:54 | 显示全部楼层
回复

使用道具 举报

19

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2017-11-14
在线时间
25 小时
 楼主| 发表于 2018-12-13 08:59:43 | 显示全部楼层
本帖最后由 andiwxz 于 2018-12-13 09:22 编辑

谢谢原子哥提醒,能再给一些具体的指点吗?之前我怀疑是任务栈,但是由1024加到4096也不行,但是测试时发现另外一个规律,我把保存功能固定封装在了任务的循环里,设置了一个触发条件来启动,目的是减小不同位置调用有差别。假设开机我就保存一次,再去操作界面去保存,都能成功,如果开机时不保存,直接操作界面去保存,就不成功,这个现象反复验证过了,难道开机有注册?没找到啊!继续查找中。我实在\STM32F767开发板\3,扩展例程\3,EMWIN扩展例程\EMWIN实验37 GIF图片显示   的例程基础上修改的,ucos、emwin、W25QXX都是自带,没做过修改的,仅是增加了很多界面
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-12-14 02:45:01 | 显示全部楼层
andiwxz 发表于 2018-12-13 08:59
谢谢原子哥提醒,能再给一些具体的指点吗?之前我怀疑是任务栈,但是由1024加到4096也不行,但是测试时发现 ...

单条代码跟踪调试吧,不好说问题在哪里,只能慢慢找
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 04:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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