历史上的今天
返回首页

历史上的今天

今天是:2025年02月19日(星期三)

正在发生

2019年02月19日 | STM32学习笔记6——向24C02芯片中写入浮点数

2019-02-19 来源:eefocus

方法:用共用体


(1)共用体类型定义


#define FLOAT_BYTE_NUM 4 //float类型占用字节数


//浮点数存储共用体

typedef union

{

    float value;

    uint8_t byte[FLOAT_BYTE_NUM];

} storFloatData;


(2)函数定义


/********************************************************************************************************

函数名称:

函数功能:向指定地址写入1个浮点数

详    述:

输    入:

*********************************************************************************************************/


void Storage_WriteFloatNum( uint16_t addr, storFloatData data )

{

    uint8_t i = 0;

    uint8_t a = 0;


    for( i = 0; i <= FLOAT_BYTE_NUM - 1; i++ )

    {

      AT24CXX_WriteOneByte( addr + i, data.byte[i] );

    }

return;

}


/********************************************************************************************************

函数名称:

函数功能:从指定地址读出1个浮点数

详    述:

输    入:

*********************************************************************************************************/

storFloatData Storage_ReadFloatNum( uint16_t addr )

{

    uint8_t i = 0;

    storFloatData read_data;


    for( i = 0; i <= FLOAT_BYTE_NUM - 1; i++ )

    {

        read_data.byte[i] = AT24CXX_ReadOneByte( addr + i );

    }


    return read_data;

}



(3)使用例程


storFloatData data0={12.34};

storFloatData data1;

Storage_WriteFloatNum(0,data0);

delay_ms(20);

data1 = Storage_ReadFloatNum(0);


推荐阅读

史海拾趣

FLEX LTD公司的发展小趣事

Flex Ltd.(伟创力国际有限公司),作为全球知名的电子制造服务(EMS)供应商,自1969年在美国硅谷成立以来,经历了多个关键的发展阶段和故事。以下是五个与其发展紧密相关的事实性故事:

1. 全球布局的开端:新加坡建厂

1981年,Flex Ltd.在新加坡建立了其第一个海外工厂,这一举措标志着公司正式走出美国,开启了全球化布局的序幕。新加坡工厂的建立不仅为Flex带来了更低的制造成本,还使其能够更贴近亚洲市场,为客户提供更快捷的服务。这一战略性的地理选择为Flex后续在全球范围内的扩张奠定了坚实基础。

2. 纳入纳斯达克上市

随着业务的不断扩展和实力的增强,Flex Ltd.于某年成功在纳斯达克(NASDAQ)上市。这一里程碑事件不仅为公司筹集了更多的发展资金,还极大地提升了其在国际市场上的知名度和影响力。上市后的Flex更加注重财务透明度和公司治理,为股东创造了长期价值。

3. 与华为的合作与风波

Flex与华为的合作曾是业内的佳话。特别是在2018年,Flex承接了华为价值高达25亿美元的代工订单,这一合作极大地推动了Flex的业务增长。然而,随着2019年美国商务部将华为列入“实体清单”,Flex被迫在全球范围内停止与华为的合作,并扣押了华为的物资和设备。这一事件引发了广泛争议,对Flex的声誉和客户关系造成了一定影响。尽管后续双方进行了多轮谈判,但这一风波仍成为了Flex发展历程中一个不可忽视的章节。

4. 供应链的数字化转型

Flex一直致力于通过数字化转型来提高供应链的效率和透明度。公司发起了一项全球计划,旨在通过EDI(电子数据交换)等先进技术实现采购及付款交易的完全自动化。这一举措不仅降低了成本、减少了错误,还提高了供应链的响应能力和可见性。例如,Flex与D公司的EDI项目合作就是其数字化转型的一个成功案例,展示了Flex在推动供应链自动化方面的决心和实力。

5. 环保与社会责任

Flex在快速发展的同时,也积极履行其环保和社会责任。公司遵循欧盟的RoHS和WEEE等环保指令,致力于在电子产品设计和制造过程中减少有害物质的使用,并推动电子废弃物的回收和处理。此外,Flex还通过专项拨款、财务捐助、自愿者行动等多种形式加大对全球社会的支援和投入力度,关注灾难赈济、医疗援助、教育、环保等领域。这些举措不仅提升了Flex的企业形象,也为其可持续发展奠定了坚实的基础。

Daito Communication Apparatus Co Ltd公司的发展小趣事

自1948年成立以来,Daito公司一直致力于电子元器件的研发与生产。在公司的早期阶段,他们意识到保险丝在电子设备中的重要性,并决定投入大量资源进行研发。经过数年的努力,Daito公司成功开发出了高精度报警保险丝,这一创新产品凭借其卓越的性能和可靠性,迅速在市场上获得了认可。

高精度报警保险丝的成功并没有让Daito公司停止创新的步伐。他们不断对保险丝的失效原因与寿命进行预测和分析,通过全面质量管理,使产品质量得到了显著的提高。同时,Daito公司还将各系列保险丝的额定值多层次化,以满足不同客户的需求,扩大了顾客的选择余地。

台湾致强(FORT)公司的发展小趣事

致强科技深知员工是企业持续发展的关键。因此,公司自成立以来便注重企业文化的建设,积极营造和谐、关爱的工作氛围。公司管理层倡导“尊重人性”的理念,不仅为员工提供具有竞争力的薪酬福利,还通过EAP(员工协助计划)等方式关注员工的心理健康和生活需求。EAP项目的实施不仅帮助员工缓解了工作压力,还从多方面提升了员工的归属感和幸福感,为公司的长期发展奠定了坚实的人才基础。

Carlisle Interconnect Technologies公司的发展小趣事

随着电子行业的快速发展,Carlisle Interconnect Technologies不断进行技术升级和产品创新。公司不断引进先进的生产设备和技术,提升产品的质量和性能。同时,公司还积极拓展产品线,从最初的绝缘电线电缆扩展到连接器、传感器等多个领域。这种多样化的产品策略使得公司能够更好地满足客户的多样化需求,也在市场上取得了更大的成功。

Capar Components Corp公司的发展小趣事

在电子行业的初期,Capar Components Corp由几位热衷于电子技术的年轻人创立。他们凭借对技术的热情和对市场的敏锐洞察,决定投身于电子元器件的研发与生产。然而,创业的道路并非一帆风顺。资金短缺、技术瓶颈以及市场竞争激烈等问题接踵而至。但他们没有放弃,通过不断的技术创新和市场调研,成功研发出一款性能优异的电容器,迅速打开了市场,奠定了公司的基础。

Heatron LED Integration公司的发展小趣事

随着LED照明市场的不断扩大,Heatron LED Integration凭借敏锐的市场洞察力,迅速调整市场战略。公司不仅巩固了在国内市场的领先地位,还积极开拓国际市场,与多家国际知名企业建立了长期合作关系。通过参加国际展会、设立海外分支机构等方式,公司成功将产品推向全球多个国家和地区,实现了品牌的国际化。

问答坊 | AI 解惑

整理下裁员/倒闭行业类别~有个快消招聘,找工作的来~ 奢侈品行业的情况有谁知道?

最近裁员倒闭的一片片,实在看的太多了,整理下下,有补充的可以跟贴,一并列举上。 也给要找的在找的将要找工作的人一点点参考。 申明: 本来的确打算一直做,因为都是大家提供的消息,但是似乎现在有些不同的“凡响”,我无意争什么,所以, ...…

查看全部问答>

一个学长的感言:转载 从C语言到FPGA高手,我是怎么炼成的

这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为 国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚入行的朋友们一点点帮助。一转 ...…

查看全部问答>

xip变大后下载问题

2440的板1gnandflash 32m sdram xip变大后,从13,531,423 字节到14,145,815 字节 原来的bootloader下载后断电不能自启动 Launch 0x30201000 后就不工作了。 是还需要改bootloader吗?…

查看全部问答>

在移植linux是遇到的问题.大家帮忙看看.

我在把linux的zImage文件和miniroot.cramfs烧进板子后,linux解压出错.错误信息如下: VIVI version 0.1.4 (root@localhost.localdomain) (gcc version 2.95.2 20000516 (re lease) [Rebel.com]) #0.1.4 五 5月 6 16:07:30 CST 2005 MMU table bas ...…

查看全部问答>

汽车电子整车方案

在前面的一个月里,我们一起温习了2008年~2009年上海汽车电子论坛有关技术方面的演讲资料,希望各位网友有所收获。最后一期汽车电子论坛精彩回顾 将与你分享有关零件供应商的演讲资料,了解他们的核心市场及技术优势,这对于研发和采购工程师们来 ...…

查看全部问答>

关于多驱动源的问题

一个FPGA初学者容易出差错的地方:多驱动源的问题 例如: 一个主模块M,这个主模块包含3个子模块,M1,M2,M3。Module M(clk, rst, din, cs, we,dout)   input             clk, rst;  ...…

查看全部问答>

TI LM3S811 DIY之【数控电源】讨论

目标板是基本最小系统+JTAG部分,所以很多部分都要自己动手来完成了!     数控电源人机界面   1、数码管+键盘;  2、LCD+键盘; 3、PC小工具;   预留PWM,ADC,COMP功能的外围脚       [ ...…

查看全部问答>

今天把OK6410超频到了800M,但速度并没有显著提高,请教大神们。

琢磨了半天,把OK6410超频到了800M,主要是修改文件s3c6410.inc和soc_cfg.h OK6410运行正常,跑的还很欢实。 改动如下: Windows CE Kernel for ARM (Thumb Enabled) Built on Sep 25 2009& ...…

查看全部问答>

[已售]20几天前刚买的stm32f103vc火牛开发板 转让

本帖最后由 ddllxxrr 于 2014-12-17 09:00 编辑 9月30日刚在淘宝网上买的,本来是买来做毕业设计的,可是毕业设计换了另一个题目,所以不需要再使用了。原价320 ,现在打9折,真的是全新的,刚买,没用过,光盘,配件,保修单什么的都是全的,可以 ...…

查看全部问答>

有谁能把STM32库函数这三句TIM1_TimeBaseStructInit最基本的通俗解释一下

TIM1_TimeBaseInitTypeDef  TIM1_TimeBaseStructure;TIM1_OCInitTypeDef  TIM1_OCInitStructure;TIM1_BDTRInitTypeDef TIM1_BDTRInitStructure; 我知道是初始化操作  …

查看全部问答>