最长256字节,不一定都要全部保存,选取用到的关键信息保存 |
hi等你 发表于 2023-11-17 15:19 每个键值的红外数据除了开头两个字节和结尾两个字节都是一样,中间的字节都是不同的。我已经想到解决办法了。 |
hi等你 发表于 2023-11-17 15:19 此遥控器的原理相当于录音机,将未知编码的遥控信号时序波形记录下(比如空调遥控),再将采样的信号发射出去。 |
如果我没猜错的话,楼主是用直接录取电平的方式来存键值的。不用解协议的,直接按1010的方式,所以才需要200+字节。比如NEC协议有个前导码9ms,就存成100000000000....这样的格式![]() |
1,STC系列,读Eeprom 是不影响寿命的。 2,既然你需要写 236 x 20 字节到 Eeprom 说明你单片机的 Eeprom容量需要 5K 以上的,应该也不会是太老的单片机,但凡你用 STC15系(204s,408s等老型号除外)及以上型号单片机,有什么必要从 Eeproim 里面先读出来呢?直接从Eeprom读,又不会比XDATA慢…… |
李冬 发表于 2023-11-17 08:48 学习模块毕竟是学习用的,我也不知道您的解码数据怎么需要上百个字节来判断键值, 我也看过您历来的提问,很多都是作为思维严谨的程序猿不该问的1+1的较真提问,你 真的需要用上千k的容量来挥霍简简单单的红外数据,得多大的单片机来满足这些垃圾 数据?做这样的产品你的老板会被你气死,上分析仪多看看红外时序,判断一下哪些是有效 数据,哪些是无效丢弃的。1个字节有二百多个变化值,有几个字节判断顶天了,实在不 济就改行吧,楼主真的不适合这行 |
首先,先搞清楚236字节数据真的都有效吗? 其次,从EEPROM读数据不减少EEPROM寿命,而且速度也够快。 |
如果一个键值必需是236个字节的话,可以对20个键值研究一下,找找共同点,构思出一个压缩方案,压缩后使用。 |
EEPROM里的数据不用读到缓存里,可以用unsigned char code 指针或汇编MOVC指令访问。 |
一个键值居然用了236个字节,一看是原来是想用只用一个P30引脚RX,可以下载程序的 奇思妙想的楼主,我觉得楼主遇到的不是eeprom寿命问题,编程需要天赋,需要严谨的 逻辑能力,如果楼主从事此职业,还是改行比较好,如果楼主是编程兴趣爱好,还是走艺术 路线吧 |
一个键值为啥会有236个字节? |
读取不会,频发擦除会 |