[uCOS/RTOS] 为什么退出临界区后任务调度不起作用

[复制链接]
 楼主| andiwxz 发表于 2018-12-19 10:15 | 显示全部楼层 |阅读模式
本帖最后由 andiwxz 于 2018-12-19 10:17 编辑

大家好:           我第一次使用ucos,理解不透测,请大家帮个忙。因为有个要写flash的操作,要写一整页4096字节,因此不想被打断,所以准备使用临界保护。在例程里看见有相关的函数,就直接照例子搬过来,但是发现调用以后,等函数执行到while(1)里边的GUI_Delay(100);以后,就不知道跑到那里去了,没死机,但是不再响应任何任务或者按键。如果不用临界保护就没有这个问题。所以可能是我用错了,但是为什么错我还不清楚,所以请教大家,这是为什么?代码如下,其中W25QXX_Write函数是开发板带的。页写函数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2018-12-20 17:29 | 显示全部楼层
临界期间不要调用系统函数
另外成对使用就可以了
e_007 发表于 2018-12-26 17:24 | 显示全部楼层
延迟函数调用了系统函数,挂掉了,可能要改写?
e_007 发表于 2018-12-26 17:24 | 显示全部楼层
延迟函数可能调用了系统函数,挂掉了,可能要改写?
 楼主| andiwxz 发表于 2019-1-16 09:08 | 显示全部楼层
谢谢大家热心帮助。结合大家说的,我改写了函数,结构调整了一下,并且仅在写flash的时候调用临界区保护函数。已经正常了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

166

主题

258

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

166

主题

258

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部