硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3043|回复: 6
收起左侧

[RL-FlashFS] fopen打开文件

[复制链接]

10

主题

11

回帖

41

积分

新手上路

积分
41
发表于 2020-8-20 13:37:47 | 显示全部楼层 |阅读模式
使用fopen竟然不能够同时打开同一个文件,略显尴尬啊,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106741
QQ
发表于 2020-8-20 14:02:55 | 显示全部楼层
对一个文件,连续fopen两次吗?
回复

使用道具 举报

10

主题

11

回帖

41

积分

新手上路

积分
41
 楼主| 发表于 2020-8-20 14:10:48 | 显示全部楼层
eric2013 发表于 2020-8-20 14:02
对一个文件,连续fopen两次吗?

对的啊,应用就是系统一直打开日志文件记录,网页随时可以去读取日志的内容,之前用项目用的fatfs倒是没什么问题,现在用rl-flashfs了这块就不行了,看了那个stdio.h里面有个freopen试试,不行就整体改改用个互斥信号处理了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106741
QQ
发表于 2020-8-20 14:36:10 | 显示全部楼层
515300276 发表于 2020-8-20 14:10
对的啊,应用就是系统一直打开日志文件记录,网页随时可以去读取日志的内容,之前用项目用的fatfs倒是没 ...

加上了RTX后,本身就已经带了互斥,你打开后,不就不可以重复打开了
回复

使用道具 举报

10

主题

11

回帖

41

积分

新手上路

积分
41
 楼主| 发表于 2020-8-20 14:47:03 | 显示全部楼层
eric2013 发表于 2020-8-20 14:36
加上了RTX后,本身就已经带了互斥,你打开后,不就不可以重复打开了

互斥的不应该是底层的IO操作吗,文件句柄也互斥不能打开了,实现方式也看不到,我改成使用互斥量操作了,不过每次写日志都必须要关闭文件句柄了,应该也不会有什么大问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106741
QQ
发表于 2020-8-20 14:54:44 | 显示全部楼层
515300276 发表于 2020-8-20 14:47
互斥的不应该是底层的IO操作吗,文件句柄也互斥不能打开了,实现方式也看不到,我改成使用互斥量操 ...

我明白了你的意思,你之前的操作有点随意,是那个任务需要记录日,都可以打开那个文件入。。

我前面说的互斥主要还是多任务情况下的时候,api的函数互斥。对于同一个文件操作你简单点封装一个函数就行,如果文件已经打开返回标志1,如果没有打开返回标志0即可,自己实现也很简单的。



回复

使用道具 举报

10

主题

11

回帖

41

积分

新手上路

积分
41
 楼主| 发表于 2020-8-20 15:22:46 | 显示全部楼层
eric2013 发表于 2020-8-20 14:54
我明白了你的意思,你之前的操作有点随意,是那个任务需要记录日,都可以打开那个文件入。。

我前面说 ...

之前的操作是日志文件在运行期间一直都是打开的,多任务调用这个函数都是有信号量作了互斥操作的,已经搞好了可以了,最近用这个遇到问题就上来问了,每次大佬都是很快就回复,谢谢了
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 15:03 , Processed in 0.457883 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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