hujj 发表于 2021-1-17 15:58

【NUCLEO-L552ZE测评】+AT24C32的读写操作实验

<div class='showpostmsg'><p>&nbsp; &nbsp; 在我的DS1307日历模块中包含了一块AT24C32EEPROM芯片,这块芯片正好准备以后存放蓝牙设备的相关数据,因此首先测试对AT24C32的读写操作。本次测试仍然是使用模拟I2C进行,这块EEPROM有32K(4096*8)容量,由于地址大于256,因此需要双字节内部地址,与一般的I2C操作的区别是内部地址要先发送高8位,再发送低8位,除此之外操作是相同的。</p>

<p>&nbsp; &nbsp; 我的测试是以秒为周期,先读出存储在AT24C32芯片中的日期字符串(即年月日时分秒),然后再将当前的日期字符串写入到AT24C32k中,以便下次读取,即当前屏幕上显示的字符串是上一秒保存进去的。测试过程的照片如下:</p>

<p></p>

<p>&nbsp;</p>

<p>&nbsp; &nbsp; 屏幕显示如下:</p>

<p></p>

<p>&nbsp;</p>

<p>&nbsp; &nbsp; 这是测试效果的动画,因屏幕的亮度偏低,观看效果差:</p>

<p></p>

<p>&nbsp;</p>

<p>&nbsp; &nbsp; 下面是测试的代码:</p>

<pre>
<code class="language-cs">void AT24C32_Test(void)
{
    uint8_t Txt;
    SI2C_16bitBuffRead( 0xA0, 0, 16, Txt);
    LCD_write_ASCII(0, 5, 1, Txt);
    Txt = 'D';
    Txt = year / 1000 + 0x30;
    Txt = year % 1000 / 100 + 0x30;
    Txt = year % 100 / 10 + 0x30;
    Txt = year % 10 + 0x30;
    Txt = month / 10 + 0x30;
    Txt = month % 10 + 0x30;
    Txt = day / 10 + 0x30;
    Txt = day % 10 + 0x30;
    Txt = hour / 10 + 0x30;
    Txt = hour % 10 + 0x30;
    Txt = minute / 10 + 0x30;
    Txt = minute % 10 + 0x30;
    Txt = second / 10 + 0x30;
    Txt = second % 10 + 0x30;
    Txt = 0;
    SI2C_16bitBuffWrite( 0xA0, 0, 16, Txt);
}</code></pre>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

w494143467 发表于 2021-1-18 15:00

<p>感谢分享!AT24系列的还是比较常用的!</p>
页: [1]
查看完整版本: 【NUCLEO-L552ZE测评】+AT24C32的读写操作实验