⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 param.c

📁 avr cpu 库源代码 对avr单片机编程很有帮助
💻 C
字号:
/*! \file param.c \brief EEPROM Parameter Storage Library. */
//*****************************************************************************
//
// File Name	: 'param.c'
// Title		: EEPROM Parameter Storage Library
// Author		: Pascal Stang (c)2005
// Created		: 9/16/2005
// Revised		: 9/20/2005
// Version		: 0.1
// Target MCU	: Atmel AVR series
// Editor Tabs	: 4
//
//*****************************************************************************

#include <avr/eeprom.h>

#include "global.h"

u08 paramLoad(u08* parameters, u08* memaddr, u16 sizebytes)
{
	u16 i;
	u08 checksum_stored=0;
	u08 checksum=0;

	// load parameters
	eeprom_read_block(parameters, memaddr, sizebytes);
	// load checksum
	eeprom_read_block(&checksum_stored, memaddr+sizebytes, sizeof(u08));

	// calculate own checksum
	for(i=0;i<sizebytes;i++)
		checksum += parameters[i];
	checksum = ~checksum;
	
	if(checksum == checksum_stored)
		return TRUE;
	else
		return FALSE;
}

void paramStore(u08* parameters, u08* memaddr, u16 sizebytes)
{
	u16 i;
	u08 checksum=0;

	// calculate checksum
	for(i=0;i<sizebytes;i++)
		checksum += parameters[i];
	checksum = ~checksum;

	// store parameters
	eeprom_write_block(parameters, memaddr, sizebytes);
	// store checksum
	eeprom_write_block(&checksum, memaddr+sizebytes, sizeof(u08));
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -