历史上的今天
返回首页

历史上的今天

今天是:2024年09月07日(星期六)

2020年09月07日 | STM8 中I2C读写函数

2020-09-07 来源:eefocus

void I2C_write(u8 Addr, u8 *WriteData, u8 length)

{

  /* Send STRAT condition */

  I2C_GenerateSTART(ENABLE);

  /* Test on EV5 and clear it */

  while(!I2C_CheckEvent(I2C_EVENT_MASTER_START_SENT)); 

  /* Send EEPROM address for write */

  I2C_Send7bitAddress(Addr, I2C_DIRECTION_TX);  

  /* Test on EV6 and clear it */

  while(!I2C_CheckEvent(I2C_EVENT_MASTER_ADDRESS_ACKED));

   I2C_ClearFlag(I2C_FLAG_ADDRESSSENTMATCHED);// must add   

  for(int i = 0; i  {

    I2C_SendData(WriteData[i]); 

    /* Test on EV8 and clear it */

    while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTING));    

  }  

  /* Send STOP condition */

  I2C_GenerateSTOP(ENABLE);  

}


void I2C_Read(u8* pBuffer, u8 ReadAddr, u8 NumByteToRead)

{    

 while(I2C->SR3&0x02);

 I2C->CR2 |= 0x01;

 while(!(I2C->SR1 & 0x01));

 I2C->DR = ReadAddr;

 while(!(I2C->SR1 & 0x02)); 

 I2C->SR1; 

 I2C->SR3;

 while(NumByteToRead)  

{

  if(NumByteToRead == 1) 

    {

      I2C->CR2 &= ~0x04; 

      I2C->CR2 |= 0x02; 

    }  

    if(I2C->SR1 & 0x40)

    {   

      *pBuffer=I2C->DR;

       pBuffer++;  

       NumByteToRead--;        

    }      

  }   

  I2C->CR2 |= 0x04;

}


推荐阅读

史海拾趣

FCI [First Components International]公司的发展小趣事

在电子行业中,FCI(First Components International)公司作为一家知名的连接器和互联系统制造商,其发展历程中确实有许多值得分享的故事。以下是关于FCI公司的五个发展故事:

  1. FCI的气体流量计与传感器技术突破

FCI作为一家全球性的气体流量计、气体和液体流量开关以及液位开关的制造商,其产品广泛应用于各种工业领域。为了满足不断增长的市场需求,FCI投入大量研发资源,成功开发出高精度、高可靠性的气体流量计和传感器。这些产品在化工、能源、环保等多个领域得到了广泛应用,为FCI赢得了良好的市场口碑。随着技术的不断创新和产品质量的持续提升,FCI逐渐成为了行业内的佼佼者。

  1. FCI中国分公司的成立与服务升级

随着中国市场的快速发展,FCI看到了在中国市场发展的巨大潜力。为了更好地服务中国客户,FCI决定在中国成立分公司。分公司的成立,不仅为FCI提供了更贴近本地市场的服务平台,还为其在中国市场的业务拓展提供了有力支持。分公司雇佣了一批在过程仪表和测量控制方面经验丰富的员工,并新增了数条经过认证的高精度流体标定台,以提供专业的服务和技术支持。这一举措显著提升了FCI在中国市场的竞争力和品牌影响力。

  1. FCI的AirMax VS高速背板连接器技术革新

为了满足未来高速数据传输的需求,FCI投入巨资研发新一代的高速背板连接器技术。经过多年的努力,FCI成功开发出了先进的AirMax VS高速背板连接器技术,为未来传输速率达到40Gb/s的设计奠定了基础。这一技术的推出,不仅巩固了FCI在连接器行业的领先地位,还为其在高速数据传输领域的发展打开了新的市场空间。

  1. FCI与航空领域的深度合作

随着航空技术的不断发展,对高精度传感器和流量计的需求也日益增长。FCI凭借其在气体流量计和传感器方面的技术优势,成功打入了航空领域市场。公司与多家知名航空企业建立了深度合作关系,为其提供定制化的产品和解决方案。这些产品在航空器的燃油系统、液压系统以及环境控制系统中发挥着重要作用,为航空安全提供了有力保障。

  1. FCI的全球化战略布局

为了适应全球化的市场趋势,FCI积极拓展其国际业务。公司通过并购、合资等方式,在全球范围内建立了多个生产基地和销售网络。这些举措不仅提高了FCI的生产效率和响应速度,还使其能够更好地服务全球客户。同时,FCI也加大了对新兴市场的投入,通过与当地合作伙伴的紧密合作,成功打入了多个具有潜力的市场领域。

以上五个故事展示了FCI在电子行业发展中的关键里程碑和重大成就。从技术创新到市场拓展,再到全球化布局,FCI始终保持着敏锐的市场洞察力和强大的竞争力,不断推动着电子行业的发展进步。

Dean Technology公司的发展小趣事

随着产品技术的不断成熟,Dean Technology公司开始注重品牌建设和市场推广。他们积极参加各类电子展会,展示公司的最新产品和技术,与行业内外的客户建立联系。同时,公司还通过广告宣传、合作伙伴关系等方式,提高品牌知名度和美誉度。这些努力使得Dean Technology的高压二极管产品逐渐在市场上获得了认可。

品赞(G-Switch)公司的发展小趣事
能够快速响应电源断相故障,有效防止设备损坏。
Hilscher Gesellschaft für Systemautomation mbH公司的发展小趣事

HVPSI成立于本世纪初,起初是一家小型的技术初创企业,专注于研发高效、可靠的高压电源模块。在创始人及核心团队的带领下,公司迅速在MOV(金属氧化物压敏电阻)模块领域取得了突破。这些模块在电力电子设备中起到了关键的过压保护作用,有效提高了系统的稳定性和安全性。通过不断的技术迭代和产品优化,HVPSI逐渐在行业内树立了技术领先的形象。

Eurotech公司的发展小趣事

Eurofarad公司深知品质是企业生存和发展的根本。因此,公司一直注重品质管理,建立了严格的质量控制体系。同时,公司还不断提升服务水平,为客户提供全方位的售前咨询和售后服务。这些措施不仅提高了客户的满意度和忠诚度,还为公司的口碑和品牌形象增添了光彩。

Electro-Mech Components Inc公司的发展小趣事

EMC一直致力于技术研发和创新能力的提升。公司拥有一支专业的研发团队,不断投入资金和人力进行新产品的研发和技术创新。通过不断的努力,EMC在电气元件领域取得了多项专利和技术成果,其产品质量和技术水平在行业中处于领先地位。同时,EMC还积极参与行业标准的制定和推广工作,为推动整个行业的发展做出了积极贡献。

问答坊 | AI 解惑

想学ARM,推荐个板子

本人从事单片机开发,想往嵌入式发展下,哪位给推荐个开发板,有想卖的二手的也成…

查看全部问答>

AT89C51控制DC电机

AT89C51控制DC电机: 1.转速可调 2.包括ADC转换:ADC0808 3.汇编语言…

查看全部问答>

万能的坛啊,看看这个是什么做的?

KF750按键的蓝光是多个圈圈层叠,触摸的时候有“涟漪”的效果。今天有个客户想在一个产品上把原来的普通按键做成这个效果,触摸的好处理,但这个发光的材料好像是EL片。坛子里有知道的朋友吗?多谢! …

查看全部问答>

散分!说下大家是怎么学习编写驱动程序的!!给点建议!

驱动程序感觉好复杂!不知道如何下手,今天看了一下午串口分层驱动源码,头都大了! 希望过来人给点建议! …

查看全部问答>

初学8051,征询如何选择购买板子

  我是一名初学8051者 最近看过很多关于8051的原理书 对单片机的基本原理略懂一二 想动手做些实验 一方面想加强自己对汇编指令或者说编程的熟悉程度 另一方面想对单片机有更彻底的了解 会些基本的应用  不知道怎么去选择购买板 ...…

查看全部问答>

FL2440的板子,修改12M的晶体为16.9344M后,无法启动???

请教高手们:     原FL2440的开发板,晶体为12MHz,修改为16.9344M后,无法启动,不知何因?     先说一下FL2440的bootloader的组成:     飞凌开发板提供的bootloader由uboot和eboot两部分组成,前面的uboot实现 ...…

查看全部问答>

关于CASIOdt-930m51e的问题

谁有这个型号的编译器呀?找不到帮助文档!…

查看全部问答>

高手帮忙发光二极管程序

org        00h start:           mov  a, #00h         mov  p0, a         mov  p2, a display:     ...…

查看全部问答>

热敏点阻的测温范围是什么

谁能告诉我热敏点阻的测温范围?谢谢了…

查看全部问答>

MSP430f4152无法烧写程序的问题

用IAR给MSP430f4152烧写程序,总提示找不到单片机。仿真器用的UIF。 出错信息是: IarIdePm The debugging session could not be started。 Either the debugger initialization failed,or else the file \"F:\\Examination\\E-Meter\\Debug\\ ...…

查看全部问答>