历史上的今天
今天是:2024年08月31日(星期六)
2021年08月31日 | 51单片机-实践操作
2021-08-31 来源:eefocus
上一讲的代码中,我们只需重点关注“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个地址开始写字符串数据进去

“I love learning SCM”这段字符串的字节长度为19,串口提示我们现在写到了18这个地址了,也就是前面写进的数据的地址为“0~18”,我们想接着写字符串连着的话,就从019开始写。
记住,由于数组的长度有限,我们一次写入的数据不要超过100个字节
2.读函数分析
“UART_E2Read();”的分析就比较简单了,首先判断字符串“E2Read:”是否正确,然后再确定要从EEPROM的哪个地址开始读,n就是确定要读出多少个字节数据,如果要读15个数据,必须写015,原理与前面一样。接着是把从EEPROM读出的数据先暂存在E2BUF数组中,然后再把E2BUF数组的内容打印出来在电脑端窗口显示出来。
我们从002号地址开始读13个数据出来

读出的数据正是我们之前写入的一部分。
3.存取信息
我们也可以在EEPROM中存入127个汉字和标点符号
我们把宋老师的一段语录经过修改凑齐127个汉字和标点符号,把这些内容全部写进EEPROM中。
内容如下:
“对于技术来说,技术水平高低直接决定你的工资薪酬。技术如果学的不好,那工作都找不到,更谈不上工资待遇了,而技术做的好,那工资就自然会高。我们不要把过多的精力关注在能挣多少钱上,而应该学会如何提高自身的技术,只要技术水平高,比很多人都厉害,钱自然就找上门了。”
写入操作如下



读出操作如下



上一篇:51单片机-串口&EEPROM
下一篇:51单片机—红外遥控
史海拾趣
|
模拟技术是目前所有电子产品设计中不可或缺的部分,我们对模拟技术可以说一点都不陌生,从接触电子产品开始,我们就接触模拟产品了。模拟技术更多需要经验积累,对新入门的工程师来说,如何提升自己的模拟设计水平?我们欢迎广大资深工程师都来谈谈 ...… 查看全部问答> |
|
为了更好地降低接地电阻,日本人不知道怎么就想出了一昏招,在接地体上包裹导电水泥等导电的混凝土(中国人美其名曰为降阻剂),从而增加接地体散流面,进一步降低接地电阻。使用降阻剂是效率极为低下的降阻措施,而且一般都会腐蚀接地体,大大缩短 ...… 查看全部问答> |
|
加了activesync组件。但是repllog.exe在插上usb时不会自动运行,结果无法同步,需要我自己手动运行repllog.exe。 请问是缺少了什么组件导致repllog.exe不自动运行的。… 查看全部问答> |
|
linux内核对nor flash的驱动都是通过cfi的,我可不可直接不用cfi接口,直接把nor flash的驱动挂在mtd下面,另外对nor flash的地址是否需要ioremap?请高手们指教,谢谢!… 查看全部问答> |
|
急!!(evc4.0+ado3.1)create database 不成功 程序段如下: hr=CLSIDFromProgID(g_szADOCE30ConnProgID,&tClsid); hr= CoCreateInstance(tClsid,NULL,CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER,IID_Connection,(LPVOID*)&m_pADOCEC ...… 查看全部问答> |
|
今天收到了板子。先熟悉学习。再做个毕来设计。 有准备学习的兄弟可以给我留言,我们可以共同讨论共同进步。 有问题记得在这里留言哟。 [ 本帖最后由 zhiha258 于 2011-1-21 16:52 编辑 ]… 查看全部问答> |




