项目中遇到的问题————Flash擦写

在断电保护的压力测试的过程中,不知道为什么,总是运行几十次就卡掉了。而且极其不稳定,有时几十次,有时几百次。用star抓包,发现所有包都很正常,就是在最后发送完以后,没有回状态字,而是直接卡死。刚开始猜想可能的原因,可能是误差累计造成的。因为记得以前在通信的时候晕倒过,如果每一个字节的传送,有时间误差,前几帧还能正常传送,但是随着误差的不断累计,就会造成字节不能正常传送,现在想想不可能是这个错误,因为到最后字节的传送都是正常的。然后发现把断电保护中的Flash操作屏蔽掉后就不会发生这样的错误,根据前人的经验,推测可能的原因,就是发送0x60的错误。因为在这里是通过定时器中断的方式进行发送60的,而Flash擦写又比较耗时,而且不可被打断,也就是会出现这样的一种情况,在Flash擦写还没有结束的时候,产生了中断,造成矛盾。解决方法:在Flash的擦写函数中,先保存中断的状态,关闭中断,处理完成后再恢复。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值