历史上的今天
返回首页

历史上的今天

今天是:2024年08月24日(星期六)

2019年08月24日 | 基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解2

2019-08-24 来源:eefocus

接上面的文章!!!


第五步:我们要封装2个函数,一个用于读8位数据,一个用于写8位数据,程序如下:



第六步:我们要利用上面2个函数再封装2个函数,一个用于向EPPROM指定的地址写指定的一字节数据,一个用于读EPPROM指定的地址的数据。程序如下:



第七步:我们要封装2个函数,用于多字节的读写!程序如下:



最后我们就是主函数了!当然这里利用串口发送数据来显示读写的数据!!!


const u8 My2[]={"地址100开始的数据 rn"};  //定义了一个多字节的数据

#define MySize2 sizeof(My2)                       //该数据长度


int main(void)

{

u8 i,datatemp[MySize2];     //用于读取数据的存储数组


        delay_init(72);                   //这个最好加上 用于产生延时 下面我贴出它的定义 不明白你就按我的写就可以了!

USART_PC_Init(115200);  //串口配置

I2C_EPPROM_Init();         //这个就是初始化了


I2C_EPPROM_Write(100,(u8 *)My2,MySize2);  //向100开始的地址往后写入MySize个数据

//delay_ms(100);


while(1)

{

I2C_EPPROM_Read(100,datatemp,MySize2);  //读取100开始的地址向后MySize的数据



for(i=0;i{

if(datatemp[i] != '')

{

    USART_PC_SendByte(USART1,datatemp[i]);

}

}


}

}




延迟函数定义程序:


最后我贴出运行结果:

到此结束,多多指教!!!

推荐阅读

史海拾趣

冠西电子(COSMO)公司的发展小趣事

冠西电子(COSMO)公司成立于1981年,起初便专注于光电元件产品的制造。公司创始人凭借对电子技术的深刻理解和市场需求的敏锐洞察,逐步将冠西电子打造成光电元件领域的专业制造商。通过不断的技术创新和产品质量提升,冠西电子逐渐在电子行业中崭露头角。

Freqtech Ohg公司的发展小趣事

在电子行业的激烈竞争中,Freqtech Ohg公司深知技术创新的重要性。公司投入大量研发资源,专注于高频电子技术的研发。经过数年的努力,Freqtech成功开发出一款高性能的高频滤波器,该产品在信号传输效率和稳定性方面远超同类竞品。这一技术创新不仅为公司赢得了国内外多个重要客户,还使得Freqtech在高频电子领域迅速崛起,成为行业内的佼佼者。

Britool Expert公司的发展小趣事

随着全球对环保和可持续发展的重视,Freqtech Ohg公司积极响应,将绿色生产理念融入企业运营的每一个环节。公司引入先进的环保设备和生产工艺,减少生产过程中的能源消耗和废弃物排放。同时,Freqtech还加大了对可再生能源的投资力度,如建设太阳能发电站等,以降低企业运营对环境的影响。这些举措不仅提升了公司的社会形象,还为公司的长期发展奠定了坚实的环保基础。

启英泰伦(Chiplntelli)公司的发展小趣事

启英泰伦凭借其在人工智能芯片领域的硬科技实力,连续四年入选“成都硬科技扑克牌榜单”。这一荣誉不仅肯定了公司在技术创新和产品研发方面的成就,也提升了公司在行业内的知名度和影响力。作为一家专注于人工智能芯片硬科技领域的公司,启英泰伦一直致力于推动芯片技术的创新和突破,为客户提供最优质的产品和服务。

ELDECO公司的发展小趣事

面对全球电子记录仪市场的快速增长,ELDECO公司制定了国际化发展战略。公司首先在欧洲市场设立了研发中心和生产基地,通过与当地合作伙伴的紧密合作,成功将产品打入欧洲市场。随后,公司又在美国、亚洲等地设立了分支机构,进一步拓展全球市场。通过国际化战略布局,ELDECO公司不仅提高了品牌影响力,还获得了更多的市场机会和客户资源。

Diotec Electronics Corp公司的发展小趣事

在竞争激烈的电子行业中,Diotec始终保持对技术创新的追求。公司不断增加研发投入,引进先进的研发设备和人才,积极开发具有自主知识产权的新产品。这些新产品不仅丰富了公司的产品线,还进一步巩固了公司在市场中的领先地位。同时,Diotec还注重知识产权保护,通过申请专利等方式保护自己的创新成果。

问答坊 | AI 解惑

我买的开发板的资料

我买的开发板的资料…

查看全部问答>

面向未来的IC设计方案

面向未来的IC设计方案随着集成电路制造业的飞速发展,传统的设计方法越来越受到严峻的挑战。每年设计技术的进步大约滞后制造技术20%。在器件的特征线宽进入深亚微米以后,这个矛盾显得越发的突出。主要表现在系统的集成度越来越高,使得单个芯片的 ...…

查看全部问答>

请问为什么.out文件无法下载到板子上?

在workbench3.0中建立了一个downloadable Kernel Module Project(一个简单的hello world程序),在vxworks6.x simulator里面运行通过了,也显示了hello world。可是连接8548板子后,选择连接vxworks6.x target server却去下载不进去,显示错误:Po ...…

查看全部问答>

【求助】“阻塞(pend)”与“挂起(suspend)”的区别?

这两个词的英文意思差不多,看孔祥营书也没搞明白这两种任务状态的区别。 google的结果不尽相同。有说阻塞是位于主存,挂起位于外存;有说阻塞占用CPU,挂起不占用CPU…… 书上说:挂起(suspend)状态主要用于调试,不会约束状态转换,仅仅约束 ...…

查看全部问答>

LoadImage返回失败

CString str = \"D:\\\\zxh\\\\111\\\\res\\\\sa.bmp\"; HBITMAP bim = (HBITMAP)LoadImage(AfxGetInstanceHandle(), str, IMAGE_BITMAP, 0,0,0); if(bim == NULL) {    DWORD errno = GetLastError();    return; } 总 ...…

查看全部问答>

招聘嵌入式工程师

岗位要求: 1.        两年以上嵌入式ARM系统开发经验; 2.        精通嵌入式linux系统内核,有从事嵌入linux的裁剪、移植的工作经验,能够熟练地根据硬件平台定制linux系统; 3.    &nb ...…

查看全部问答>

st7LITE05的PLL设置

                                 st7lite05的ST7FLITE05.H头文件中找不到关于PLL的选择字节,请教如何才能解决?如何能实现PLL使cpu工作于8MHz?…

查看全部问答>

STM32

没学过单片机的人学STM32从哪入手???…

查看全部问答>

嵌入式操作系统学习课程

          随着科技的不断发展,嵌入式操作系统大家也很熟悉了,但是嵌入式操作系统类的课程可能还有点陌生。现在就由卓跃教育为大家介绍一下嵌入式操作系统类课程     &nb ...…

查看全部问答>

【玩转C2000 Launchpad】菜鸟LESSON9-时钟

时钟是DSP不可缺少的一部分,是运行的必要条件。时钟输入:对于280x系列的dsp的时钟选择有多种,包括:(1)晶体经过X1、X2输入:需要将CLKIN连接到参考地,否则在用FLASH运行程序时候,将无法运行。;(2)外部时钟经过CLKIN引脚输入:允许时钟电压是3 ...…

查看全部问答>