Files
TC264_Library_seekfree/Example/8-EEPROM_Demo/USER/Cpu0_Main.c
SEEKFREE_Kang c1083dc65f V1.0.4
默认勾选上生成HEX的功能
 对Cpu1_Main.c中的core1_main函数默认添加 开启总中断的函数。
 修复CPU1无法响应中断的问题
 删除汇编中的包含路径信息
 修复总钻风小分辨只采集一次的问题
 添加RDA5807 FM模块驱动代码
 修改LSL文件,方便通过#pragma 来指定变量或者程序放在指定RAM,具体如何使用请参考库例程Specifies_Variable_Or_Code_Location_Demo
2020-04-27 17:41:10 +08:00

87 lines
2.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*********************************************************************************************************************
* 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)) 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