rom.c

来自「Welding Robot controller C Embedded Prog」· C语言 代码 · 共 61 行

C
61
字号
/******************************************************************************
* welding mobile robot control programme
* rom processing module
* @author: thai nguyen nhut dien
* @date: may 2006
******************************************************************************/

//------- save input data to ROM --------------------------------------------//
void saveParam(int item) {
  switch (item) {
    case MENU_MODE:
      write_eeprom(0, inMode);
      break;
    case MENU_SPEED:
      write_eeprom(1, inSpeed);
      break;
    case MENU_AMP:
      write_eeprom(2, inAmp);
      break;
    case MENU_GAP:
      write_eeprom(20, (int) (inGap >> 8));
      write_eeprom(21, (int) (inGap & 0x00ff));
      break;
    case MENU_SEG:
      write_eeprom(30, (int) (inSeg >> 8));
      write_eeprom(31, (int) (inSeg & 0x00ff));
      break;
  }
}

//------- read data from ROM ------------------------------------------------//
void loadParams() {
  int upper, lower;
  int16 value;

  // read mode
  lower = read_eeprom(0);
  if (lower <= MAX_MODE && lower >= MIN_MODE) inMode = lower;

  // read welding speed
  lower = read_eeprom(1);
  value = (upper << 8) + lower;
  if (lower <= MAX_SPEED && lower >= MIN_SPEED) inSpeed = lower;

  // read welding time
  lower = read_eeprom(2);
  if (lower <= MAX_AMP && lower >= MIN_AMP) inAmp = lower;

  // read gap length
  upper = read_eeprom(20);
  lower = read_eeprom(21);
  value = (upper << 8) + lower;
  if (value <= MAX_GAP && value >= MIN_GAP) inGap = value;

  // read segment length
  upper = read_eeprom(30);
  lower = read_eeprom(31);
  value = (upper << 8) + lower;
  if (value <= MAX_SEG && value >= MIN_SEG) inSeg = value;
}

⌨️ 快捷键说明

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