求助!关于门禁卡号在EEPROM中如何快速查找

2020-01-30 13:52发布

小弟最近在搞一个门禁系统,用了STC12C5A32的单片机,内部的“EEPROM”是比较大,如果一张卡号存4个字节,那么可以存7000张卡这样子,如果用历遍法查找7000张卡中的一张卡号,用的时间太长了,有什么算法能快速的查找吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
embeddev_1
1楼-- · 2020-01-31 13:08
二分法!!
Halley
2楼-- · 2020-01-31 13:24
我也在弄这个东西,现在的想法是:存数据的时候把地址记下来,然后根据地址找数据。
baynkrnr
3楼-- · 2020-01-31 14:05
Etual 发表于 2013-3-8 08:36
链式哈希表,设计得好的话7000条数据读取几次就找到数据了。还可以考虑将常用数据上浮,以实用次数排序
那 ...

STC单片机内部的"EEPROM"为512个字节为一个扇区,我现在每读一个扇区就历遍一次数据,最后一张卡要重复50来次,查找好慢的.能详细说一下吗?
baynkrnr
4楼-- · 2020-01-31 15:56
 精彩回答 2  元偷偷看……
baynkrnr
5楼-- · 2020-01-31 18:59
cc224 发表于 2013-3-8 07:54
排序,然后就可以用二分法查找了

扇区里不好用排序
baynkrnr
6楼-- · 2020-01-31 19:41
XA144F 发表于 2013-3-8 08:25
7000*4=28000,最多才28K,你用的STC12单片机,把工作频率开到最大,那一秒查询3000组是没问题的吧?耐心等 ...

读卡加找最后一张卡要4秒这样子.我用的晶体是11.0592

一周热门 更多>