51单片机-实践操作

发布者:Tiger8最新更新时间:2021-10-14 来源: eefocus关键字:51单片机  实践操作  函数分析 手机看文章 扫描二维码
随时随地手机看文章

上一讲的代码中,我们只需重点关注“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


关键字:51单片机  实践操作  函数分析 引用地址:51单片机-实践操作

上一篇:51单片机-串口&EEPROM
下一篇:51单片机—红外遥控

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved