10.实践操作

发布日期:2020-12-26 09:09:43 来源:网络转载

上一讲的代码中,我们只需重点关注“UART_E2Write();”和“UART_E2Read();”,其他代码都与前几讲的“液晶屏与串口”的代码思路一样。


1.写函数分析

首先先分析“UART_E2Write();”。

判断字符串的前部分是否为“E2Write:”然后读取出要在EEPROM哪个地址开始写入数据,k则是记录了要写多少了字节进去,RXDBUF[j+12]之后的数据就是代表真正要写进去的数据。

比如我们在电脑端窗口发送如下字符串:E2Write:084,I love learning SCM

前面的字符串判断通过,然后是确定要写入的起始地址,地址是84(全部地址是0~255),

记住不能只单单写“E2Write:84,I love learning SCM”,不能写少一个0,

如果要写入的起始地址为6,也要补充前面的两个0(006),这是程序里作为判断的要求。

K就是得到了“I love learning SCM”有多少个字符,E2BUF[j]从第0个元素开始存取字符串“I love learning SCM”。

接着把E2BUF数组的内容写进EEPROM,串口打印出“写入完成!”的提示在电脑端窗口显示出来,紧接着提示我们此时写到了哪个地址了。

这里我们做测试,在EEPROM的第0个地址开始写字符串数据进去

15.12.png

“I love learning SCM”这段字符串的字节长度为19,串口提示我们现在写到了18这个地址了,也就是前面写进的数据的地址为“0~18”,我们想接着写字符串连着的话,就从019开始写。

记住,由于数组的长度有限,我们一次写入的数据不要超过100个字节


2.读函数分析

“UART_E2Read();”的分析就比较简单了,首先判断字符串“E2Read:”是否正确,然后再确定要从EEPROM的哪个地址开始读,n就是确定要读出多少个字节数据,如果要读15个数据,必须写015,原理与前面一样。接着是把从EEPROM读出的数据先暂存在E2BUF数组中,然后再把E2BUF数组的内容打印出来在电脑端窗口显示出来。

我们从002号地址开始读13个数据出来

15.13.png

读出的数据正是我们之前写入的一部分。


3.存取信息

我们也可以在EEPROM中存入127个汉字和标点符号

我们把宋老师的一段语录经过修改凑齐127个汉字和标点符号,把这些内容全部写进EEPROM中。

内容如下:

“对于技术来说,技术水平高低直接决定你的工资薪酬。技术如果学的不好,那工作都找不到,更谈不上工资待遇了,而技术做的好,那工资就自然会高。我们不要把过多的精力关注在能挣多少钱上,而应该学会如何提高自身的技术,只要技术水平高,比很多人都厉害,钱自然就找上门了。”

写入操作如下

15.14.png

15.15.png

15.16.png


读出操作如下

15.17.png

15.18.png

15.19.png

关键词 :
网站违法和不良信息举报邮箱:23139485@qq.com
CopyRight@2020-2030 www.haoapp8.cn All Rights Reserved.C语言学习网版权所有 粤ICP备15061369号
免责声明:本站内容来源于用户自行提供或网络收集,其真实性、准确性和合法性,www.haoapp8.cn不提供任何保证,亦不承担任何法律责任.而产生的法律关系及法律纠纷,由您自行协商解决。