示例#1
0
/* Zápis do paměti eeprom podle určeného protokolu. */
void eeprom_write(){
	while(eeprom_lenght >= PROTOCOL_LENGTH){
		if(eeprom_buffer[count] == CONFIG_CHAR){
			Chip_EEPROM_Write(LPC_EEPROM, 0, PAGE_ADDR, eeprom_buffer + count, EEPROM_RWSIZE_8BITS, eeprom_lenght - count);
			memset(eeprom_buffer,0,eeprom_lenght); // Vynulování dat v bufferu
			eeprom_lenght = 0;
			count = 0;
		} else{
			count++;
		}
	}
}
示例#2
0
文件: eeprom.c 项目: 0xBADCA7/lk
/**
 * @brief	main routine for EEPROM example
 * @return	Always returns 0
 */
int main(void)
{
	uint8_t *ptr = (uint8_t *) buffer;
	uint8_t ret_code;

	/* Generic Initialization */
	SystemCoreClockUpdate();
	Board_Init();

	/* Enable SysTick Timer */
	SysTick_Config(SystemCoreClock / TICKRATE_HZ);

	/* Enable EEPROM clock and reset EEPROM controller */
	Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_EEPROM);
	Chip_SYSCTL_PeriphReset(RESET_EEPROM);

	/* Data to be read from EEPROM */
	ret_code = Chip_EEPROM_Read(EEPROM_ADDRESS, ptr, IAP_NUM_BYTES_TO_READ_WRITE);

	/* Error checking */
	if (ret_code != IAP_CMD_SUCCESS) {
		DEBUGOUT("Command failed to execute, return code is: %x\r\n", ret_code);
	}

	/* Check and display string if it exists */
	ShowString((char *) ptr);

	/* Get a string to save */
	MakeString(ptr);

	/* Data to be written to EEPROM */
	ret_code = Chip_EEPROM_Write(EEPROM_ADDRESS, ptr, IAP_NUM_BYTES_TO_READ_WRITE);

	/* Error checking */
	if (ret_code == IAP_CMD_SUCCESS) {
		DEBUGSTR("EEPROM write passed\r\n");
	}
	else {
		DEBUGOUT("EEPROM write failed, return code is: %x\r\n", ret_code);
	}

	return 0;
}
示例#3
0
文件: config.c 项目: scintilist/MSD
// Write config to EEPROM
void writeConfigToEEPROM(void){
	Chip_EEPROM_Write(0x00000000, (uint8_t *)&daq, sizeof(daq));
}