mirror of
https://gitee.com/seekfree/TC264_Library.git
synced 2026-06-04 03:32:56 +00:00
90 lines
2.6 KiB
C
90 lines
2.6 KiB
C
/*********************************************************************************************************************
|
||
* COPYRIGHT NOTICE
|
||
* Copyright (c) 2020,逐飞科技
|
||
* All rights reserved.
|
||
* 技术讨论QQ群:三群:824575535
|
||
*
|
||
* 以下所有内容版权均属逐飞科技所有,未经允许不得用于商业用途,
|
||
* 欢迎各位使用并传播本程序,修改内容时必须保留逐飞科技的版权声明。
|
||
*
|
||
* @file main
|
||
* @company 成都逐飞科技有限公司
|
||
* @author 逐飞科技(QQ3184284598)
|
||
* @version 查看doc内version文件 版本说明
|
||
* @Software tasking v6.3r1
|
||
* @Target core TC264D
|
||
* @Taobao https://seekfree.taobao.com/
|
||
* @date 2020-3-23
|
||
********************************************************************************************************************/
|
||
|
||
|
||
#include "headfile.h"
|
||
#pragma section all "cpu0_dsram"
|
||
|
||
#define EXAMPLE_EEPROM_SECTOR (0)
|
||
|
||
uint8 write_data1;
|
||
uint16 write_data2;
|
||
uint32 write_data3;
|
||
float write_data4;
|
||
|
||
|
||
uint8 read_data1;
|
||
uint16 read_data2;
|
||
uint32 read_data3;
|
||
float read_data4;
|
||
|
||
uint32 write_buf;
|
||
int core0_main(void)
|
||
{
|
||
disableInterrupts();
|
||
get_clk();//获取时钟频率 务必保留
|
||
|
||
//用户在此处调用各种初始化函数等
|
||
write_data1 = 66;
|
||
write_data2 = 6666;
|
||
write_data3 = 666666;
|
||
write_data4 = 6666.66;
|
||
|
||
|
||
//检查当前页是否有数据,如果有数据则需要擦除整个扇区,
|
||
if(flash_check(EXAMPLE_EEPROM_SECTOR, 0) || flash_check(EXAMPLE_EEPROM_SECTOR, 1) || flash_check(EXAMPLE_EEPROM_SECTOR, 2) || flash_check(EXAMPLE_EEPROM_SECTOR, 3))
|
||
{
|
||
eeprom_erase_sector(EXAMPLE_EEPROM_SECTOR);
|
||
}
|
||
|
||
//当写入的数据不是32位时,建议将数据放入uint32 类型的变量中,在将该变量作为参数传入到eeprom_page_program函数
|
||
write_buf = write_data1;
|
||
//将数据写入EXAMPLE_EEPROM_SECTOR扇区的第0页
|
||
eeprom_page_program(EXAMPLE_EEPROM_SECTOR, 0, &write_buf);
|
||
write_buf = write_data2;
|
||
eeprom_page_program(EXAMPLE_EEPROM_SECTOR, 1, &write_buf);
|
||
write_buf = write_data3;
|
||
eeprom_page_program(EXAMPLE_EEPROM_SECTOR, 2, &write_buf);
|
||
|
||
//保存浮点数的时候,使用float_conversion_uint32宏定义进行转换后在保存
|
||
write_buf = float_conversion_uint32(write_data4);
|
||
eeprom_page_program(EXAMPLE_EEPROM_SECTOR, 3, &write_buf);
|
||
|
||
//读取eeprom中的数据
|
||
read_data1 = flash_read(EXAMPLE_EEPROM_SECTOR, 0, uint8);
|
||
read_data2 = flash_read(EXAMPLE_EEPROM_SECTOR, 1, uint16);
|
||
read_data3 = flash_read(EXAMPLE_EEPROM_SECTOR, 2, uint32);
|
||
read_data4 = flash_read(EXAMPLE_EEPROM_SECTOR, 3, float);
|
||
|
||
printf("read_data1: %d\n", read_data1);
|
||
printf("read_data2: %d\n", read_data2);
|
||
printf("read_data3: %ld\n", read_data3);
|
||
printf("read_data4: %f\n", read_data4);
|
||
|
||
enableInterrupts();
|
||
|
||
while (TRUE)
|
||
{
|
||
|
||
}
|
||
}
|
||
|
||
#pragma section all restore
|
||
|