标题: EEPROM读取值是255 int类型u16应该是65535 [打印本页]

作者: 潇博    时间: 2025-5-21 10:38
标题: EEPROM读取值是255 int类型u16应该是65535
#include "public.h"
#include "key.h"
#include "smg.h"
#include "at24c02.h"

#define EEPROM_ADDRESS 0

void main()
{
        u8 key_temp=0;
        u16 save_value=0;
        u8 save_buf[5];
        while(1)
        {
                key_temp=key_scan(0);
                if(key_temp==KEY1_PRESS)
                {
                        at24c02_write_one_byte(EEPROM_ADDRESS,save_value);
                }
                else if(key_temp==KEY2_PRESS)
                {
                        save_value=at24c02_read_one_byte(EEPROM_ADDRESS);
                }
                else if(key_temp==KEY3_PRESS)
                {
                        save_value++;
                        if(save_value==65535)save_value=65535;
                }
                else if(key_temp==KEY4_PRESS)
                {
                        save_value=0;
                }
                else if(key_temp==KEY5_PRESS)
                {
                        save_value--;
                        if(save_value==0)save_value=65535;
                }
                save_buf[0]=save_value/10000;
                save_buf[1]=save_value%10000/1000;
                save_buf[2]=save_value%10000%1000/100;
                save_buf[3]=save_value%10000%1000%100/10;
                save_buf[4]=save_value%10000%1000%100%10;
                smg_display(save_buf,4);
        }
}

39-EEPROM.zip

50.06 KB, 下载次数: 0


作者: devcang    时间: 2025-5-21 16:09
一个字节最大是 0xff,单片机中像int 要2个字节保存,就是高位和低位分开,,,,,使用时再组合起来。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1