Files
Balsam_167/Source/Internal/cntrl_adr.c

59 lines
2.8 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.
/**
* @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;
}