OpenEdv-开源电子网

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

使用双向链表数据循环保存如何实现

[复制链接]

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1115
金钱
1115
注册时间
2016-8-26
在线时间
256 小时
发表于 2020-12-17 11:10:06 | 显示全部楼层 |阅读模式
20金钱
描述:使用双向链表实现数据在外部flash芯片的循环保存。调试时以保存7组测量数据为例,已实现数据查找、任意删除。目标:数据保存满后,新数据循环覆盖老数据?


1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1115
金钱
1115
注册时间
2016-8-26
在线时间
256 小时
 楼主| 发表于 2020-12-17 11:10:07 | 显示全部楼层
回复

使用道具 举报

5

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2020-1-14
在线时间
13 小时
发表于 2020-12-17 11:16:14 | 显示全部楼层
把链表头尾连起来,构成环形链表;
选定循环方向;
定义一个新的节点指针,按照选定的循环方向移动;
每次有新的数据,就把新指针指向的节点的数据替换成新的数据;
循环进行。
回复

使用道具 举报

12

主题

3402

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8687
金钱
8687
注册时间
2020-5-11
在线时间
4170 小时
发表于 2020-12-17 11:36:52 | 显示全部楼层
软件模拟FIFO?
专治疑难杂症
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-12-17 16:25:37 | 显示全部楼层
改成循环链表就能实现覆盖
回复

使用道具 举报

9

主题

219

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1436
金钱
1436
注册时间
2020-5-12
在线时间
394 小时
发表于 2020-12-18 08:38:25 | 显示全部楼层
我之前做的那个保存ID的做法是这样的,用一个字头保存该数据的使用状态,比如0x0F和0x00,改这个字头是不需要擦除的,然后要删除就把字头改成0x00,然后在后面加新的数据。查询的时候先看字头是不是0x0F。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 08:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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