59 lines
2.8 KiB
C
59 lines
2.8 KiB
C
/**
|
||
* @file cntrl_adr.c
|
||
* @brief Хранение и изменение сетевых адресов контроллера.
|
||
*
|
||
* Содержит рабочий, широковещательный, ответный и терминальный адреса узла.
|
||
* set_cntrl_addr() меняет только изменяемые адреса; вызывающий код отвечает
|
||
* за проверку диапазона и за отсутствие обмена во время перенастройки.
|
||
*/
|
||
/****************************************************************/
|
||
/* TMS320C32 */
|
||
/* ====== BIOS, КЛАИН, КЛВСП ====== */
|
||
/* ЦНИИ СЭТ (с) 1998-2000 г. */
|
||
/****************************************************************
|
||
cntrl_adr.c
|
||
****************************************************************
|
||
* Адрес контроллера *
|
||
****************************************************************/
|
||
|
||
#include "cntrl_adr.h"
|
||
|
||
#define ADDR_FOR_ALL_DEF 10
|
||
#define ADDR_ANSWER_DEF 0x33
|
||
#define ADDR_TERMINAL_DEF 11
|
||
#define ADDR_UNIVERSAL_DEF 10
|
||
|
||
|
||
/** Установка адреса контроллера дла посылки всем АИНам */
|
||
int ADDR_FOR_ALL = ADDR_FOR_ALL_DEF;
|
||
|
||
/** Установка адреса контроллера дла посылки ответа */
|
||
const int ADDR_ANSWER = ADDR_ANSWER_DEF;
|
||
|
||
/** Установка адреса терминала дла посылки ответа */
|
||
const int ADDR_TERMINAL = ADDR_TERMINAL_DEF;
|
||
|
||
/* Универсальный адрес контроллера */
|
||
const int CNTRL_ADDR_UNIVERSAL=ADDR_UNIVERSAL_DEF;
|
||
|
||
/* Адрес контроллера */
|
||
int CNTRL_ADDR=1;
|
||
|
||
int cntr_addr_c;
|
||
int cntr_addr_c_all;
|
||
|
||
/** Установка адреса контроллера дла прошивки */
|
||
/**
|
||
* @brief Одновременно обновляет индивидуальный и групповой адреса узла.
|
||
* @param cntrl_addr Новый адрес данного контроллера.
|
||
* @param cntrl_addr_for_all Адрес, по которому принимаются групповые команды.
|
||
* @note Проверка допустимого диапазона выполняется уровнем конфигурации.
|
||
*/
|
||
void set_cntrl_addr (int cntrl_addr,int cntrl_addr_for_all)
|
||
{
|
||
/* Пара адресов меняется в одном месте, исключая смешанную конфигурацию. */
|
||
CNTRL_ADDR = cntrl_addr;
|
||
ADDR_FOR_ALL = cntrl_addr_for_all;
|
||
}
|
||
|