硬汉嵌入式论坛

 找回密码
 立即注册
查看: 497|回复: 1
收起左侧

[有问必答] 求助,为什么at24c02浮点数读取操作会进入一个死循环

[复制链接]

3

主题

5

回帖

14

积分

新手上路

积分
14
发表于 2023-4-15 17:16:44 | 显示全部楼层 |阅读模式

只要一读取浮点数就进入了这个死循环,不知道为什么,读数据试过了空的为255没问题
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}


这是我的代码:

typedef union

{

    float value;

    uint8_t byte[FLOAT_BYTE_NUM];

} storFloatData;


storFloatData tab[3];

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

函数名称:

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

详    述:

输    入:

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



void store_float_to_eeprom( storFloatData data,uint8_t addr )

{

    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 read_float_from_eeprom( uint8_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;

}


读操作:     
   tab[2] = read_float_from_eeprom(0x08);
   OLED_ShowFNum(3,8,tab[2].value,1,1);   //用OLED显示出来

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-4-15 22:39:06 | 显示全部楼层
供参考实现。

实战技能分享,各种数据类型的SPI, UART, I2C,FDCAN等方式的通信传输以及存储到EEPROM, Flash等设备的简易实现方法
https://www.armbbs.cn/forum.php? ... 9659&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-8 19:40 , Processed in 0.240048 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表