OpenEdv-开源电子网

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

UCOSII系统往文件中写数据时需要禁止任务调度吗?

[复制链接]

18

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-29
在线时间
156 小时
发表于 2022-9-5 14:24:35 | 显示全部楼层 |阅读模式
STM32使用UCOS II系统,串口不定时会收到采样端发送过来的数据,主任务收到后会把串口收到的数据通过FAT文件系统写到NANDFLASH内的CSV文件中,昨天突然看到CSV文件中一个数据28.39被意外改成了28.#9,如附件图,怀疑是主任务正在往文件里面写数据,突然串口中断来了,然后又引起系统调度,进入串口数据处理任务,导致主任务写数据的时序被打乱,最终写到文件中的数据错了,请问大家在往文件中写数据时有禁止任务调度吗?
数据被意外修改.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

912

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4508
金钱
4508
注册时间
2019-9-4
在线时间
914 小时
发表于 2022-9-5 15:00:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2017-2-18
在线时间
1913 小时
发表于 2022-9-6 20:54:12 | 显示全部楼层
这种情况下加临界段代码保护来禁止进入中断,同时看下有没有必要对串口接收缓冲区加互斥锁,减少外部因素对接收缓冲区数据的改写情况
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 03:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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