724 lines
22 KiB
Plaintext
724 lines
22 KiB
Plaintext
/**
|
||
@file api.dox
|
||
@brief Русскоязычные Doxygen-описания интерфейсов Balsam 167.
|
||
|
||
@defgroup measurement Измерения и диагностика
|
||
@brief АЦП, фильтрация, пересчёт каналов и формирование аварий.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void setup_adc(void)
|
||
@brief Настраивает ADC и быстрый обработчик преобразований.
|
||
@details Конфигурирует последовательность каналов и параметры накопления,
|
||
используемые измерительным контуром. Вызывается один раз при старте для всех
|
||
ролей, кроме пульта EPLT.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void adc_isr(void)
|
||
@brief Обрабатывает очередную последовательность преобразований ADC.
|
||
@details Обновляет сырые выборки и фильтры; выполняется в контексте прерывания.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Init_sensors(void)
|
||
@brief Выполняет первичную инициализацию измерительных каналов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Init_sensors_more(void)
|
||
@brief Применяет параметры изделия после загрузки сохранённых настроек.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Init_packMask(void)
|
||
@brief Формирует маски публикуемых CAN-регистров для каждой шины.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Temper_count(int chan, int own)
|
||
@brief Пересчитывает температурный канал и обновляет его диагностику.
|
||
@param chan Индекс базового канала в общей модели измерений.
|
||
@param own Признак локального либо внешнего источника температуры.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Current_count(int chan)
|
||
@brief Вычисляет ток по паре измерительных каналов и формирует ошибки.
|
||
@param chan Индекс канала тока.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Power_count(int chan)
|
||
@brief Вычисляет напряжение/мощность для заданного канала.
|
||
@param chan Индекс обрабатываемого канала.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void calc_sensor_koef(void)
|
||
@brief Пересчитывает коэффициенты датчиков по калибровочным точкам.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void calc_volta_edge(void)
|
||
@brief Пересчитывает пороги контроля напряжения из текущих настроек.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Is_Voltage_Hi(void)
|
||
@brief Проверяет превышение напряжения и обновляет общий признак аварии.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void cpu_timer1_isr_SENS(void)
|
||
@brief Периодический обработчик измерительной платы.
|
||
@details Планирует выбор каналов, пересчёт величин, диагностику, мигание и
|
||
циклическую передачу. Выполняется в контексте прерывания CPU Timer1.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn int er_anal(int term, unsigned int *count, long edge, int pre)
|
||
@brief Реализует выдержку времени для появления и снятия диагностического условия.
|
||
@param term Текущее логическое состояние диагностического условия.
|
||
@param count Счётчик длительности условия; изменяется функцией.
|
||
@param edge Порог счётчика, после которого условие подтверждается.
|
||
@param pre Состояние ошибки на предыдущем шаге.
|
||
@return Ненулевое значение, когда ошибка считается активной.
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct FILTERBAT
|
||
@brief Состояние рекурсивного фильтра второго порядка.
|
||
@details Содержит три коэффициента, три входные и три выходные выборки.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn float filterbat(FILTERBAT *b, float InpVarCurr)
|
||
@brief Пропускает одну выборку через фильтр Баттерворта.
|
||
@param b Экземпляр фильтра с коэффициентами и историей.
|
||
@param InpVarCurr Новая входная выборка.
|
||
@return Отфильтрованное значение.
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct ERROR
|
||
@brief Шестнадцатибитное слово состояния измерительного канала.
|
||
@details Объединяет признаки обрыва, неправильного сигнала, выхода за пределы,
|
||
перегрева, блокировки, готовности, дискретных входов, игнорирования и bypass.
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct FLAG
|
||
@brief Общие признаки ошибки, аварии, нагрева и теста ламп.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|
||
|
||
/**
|
||
@defgroup communication Последовательный обмен и сообщения
|
||
@brief Два канала SCI, физический режим RS-485 и прикладные команды.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct RS_DATA
|
||
@brief Контекст одного SCI/RS-485 канала.
|
||
@details Хранит регистры SCI, указатели RX/TX, буферы, длины сообщений,
|
||
тайм-ауты, адреса и параметры линии. Глобальные экземпляры: `rs_a` и `rs_b`.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void create_uart_vars(char size_cmd15_set)
|
||
@brief Инициализирует контексты двух UART и таблицу длин команд.
|
||
@param size_cmd15_set Размер payload команды 15 для текущего приложения.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void setup_uart(char commnumber, unsigned long speed_baud)
|
||
@brief Настраивает SCI-A или SCI-B и соответствующие обработчики PIE.
|
||
@param commnumber Номер порта: `COM_1` либо `COM_2`.
|
||
@param speed_baud Скорость линии, бит/с.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RS_SetLineMode(RS_DATA *rs_arr, int bit, char parity, int stop)
|
||
@brief Задаёт длину слова, чётность и число стоп-битов.
|
||
@param rs_arr Контекст канала.
|
||
@param bit Число информационных битов.
|
||
@param parity Режим контроля чётности.
|
||
@param stop Режим стоп-битов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RS_SetLineSpeed(RS_DATA *rs_arr, unsigned long speed)
|
||
@brief Изменяет скорость выбранного последовательного канала.
|
||
@param rs_arr Контекст канала.
|
||
@param speed Новая скорость, бит/с.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RS_SetBitMode(RS_DATA *rs_arr, int n)
|
||
@brief Выбирает байтовый либо упакованный режим данных SCI.
|
||
@param rs_arr Контекст канала.
|
||
@param n Требуемый режим представления элементов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn int RS_Send(RS_DATA *rs_arr, unsigned int *pBuf, unsigned long len)
|
||
@brief Запускает неблокирующую передачу массива слов.
|
||
@param rs_arr Контекст канала.
|
||
@param pBuf Буфер передаваемых слов.
|
||
@param len Число слов.
|
||
@return Признак успешного запуска передачи.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn int RS_BSend(RS_DATA *rs_arr, unsigned int *pBuf, unsigned long len)
|
||
@brief Запускает передачу байтов, хранящихся в 16-битных ячейках C28x.
|
||
@param rs_arr Контекст канала.
|
||
@param pBuf Буфер данных.
|
||
@param len Число восьмибитных элементов.
|
||
@return Признак успешного запуска передачи.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn int get_command(RS_DATA *rs_arr)
|
||
@brief Проверяет принятый кадр и извлекает код команды.
|
||
@param rs_arr Контекст канала с принятым пакетом.
|
||
@return Код команды либо `-1`, если полного корректного кадра нет.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RSA_RX_Handler(void)
|
||
@brief Обработчик приёма SCI-A, делегирующий работу общему RX-автомату.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RSA_TX_Handler(void)
|
||
@brief Обработчик передачи SCI-A.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RSB_RX_Handler(void)
|
||
@brief Обработчик приёма SCI-B, делегирующий работу общему RX-автомату.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void RSB_TX_Handler(void)
|
||
@brief Обработчик передачи SCI-B.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void clear_timer_rs_live(RS_DATA *rs_arr)
|
||
@brief Сбрасывает счётчик контроля активности последовательного канала.
|
||
@param rs_arr Контекст канала.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void test_rs_live(RS_DATA *rs_arr)
|
||
@brief Проверяет тайм-аут активности последовательного канала.
|
||
@param rs_arr Контекст канала.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void ReceiveCommandModbus3(RS_DATA *rs_arr)
|
||
@brief Обрабатывает Modbus function 3 — чтение регистров.
|
||
@param rs_arr Канал, на котором принята команда.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void ReceiveCommandModbus6(RS_DATA *rs_arr)
|
||
@brief Обрабатывает Modbus function 6 — запись одного регистра.
|
||
@param rs_arr Канал, на котором принята команда.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void SendCommandModbus4(RS_DATA *rs_arr)
|
||
@brief Формирует запрос function 4 к внешнему устройству OWEN.
|
||
@param rs_arr Канал связи с устройством.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void ReceiveAnswerModbus4(RS_DATA *rs_arr)
|
||
@brief Разбирает ответ OWEN на запрос входных регистров.
|
||
@param rs_arr Канал, на котором принят ответ.
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct CMD_TO_TMS
|
||
@brief Формат короткой команды контроллеру.
|
||
@details Содержит адрес, номер команды, восемь байтов данных, CRC и добавочный байт.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|
||
|
||
/**
|
||
@defgroup can_bus CAN
|
||
@brief Инициализация eCAN-A, приём команд и публикация регистров.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void InitCan(int Port, int DevNum)
|
||
@brief Настраивает CAN-контроллер и почтовые ящики.
|
||
@param Port Зарезервированный номер CAN-порта; текущая плата использует порт 0.
|
||
@param DevNum Адрес/режим устройства, участвующий в конфигурации идентификаторов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void CAN_send(int Port, int data[], int Addr)
|
||
@brief Передаёт группу из трёх регистров общей модели.
|
||
@param Port Номер CAN-порта.
|
||
@param data Начало массива регистров.
|
||
@param Addr Адрес первого публикуемого регистра.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void CANa_handler(void)
|
||
@brief Обработчик приёма eCAN-A; переносит данные mailbox в прикладную модель.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void CANa_reset_err(void)
|
||
@brief Обрабатывает состояние ошибки eCAN-A и восстанавливает обмен.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|
||
|
||
/**
|
||
@defgroup storage Параметры, EEPROM и журнал
|
||
@brief Долговременное хранение конфигурации и диагностических выборок.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct SE2P_DATA
|
||
@brief Описание операции с последовательной EEPROM.
|
||
@details Содержит указатель данных, размер операции и адрес EEPROM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct SPISE2P_DRV
|
||
@brief Состояние и виртуальные методы драйвера SPI EEPROM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void InitSeeprom(void)
|
||
@brief Настраивает SPI-A, GPIO chip-select и Timer2 для EEPROM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Seeprom_write(unsigned int adres, unsigned int buf[], unsigned int size)
|
||
@brief Синхронно записывает блок 16-битных слов во внешнюю EEPROM.
|
||
@param adres Адрес слова в EEPROM.
|
||
@param buf Буфер исходных слов.
|
||
@param size Количество записываемых слов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Seeprom_read(unsigned int adres, unsigned int buf[], unsigned int size)
|
||
@brief Синхронно читает блок 16-битных слов из внешней EEPROM.
|
||
@param adres Адрес слова в EEPROM.
|
||
@param buf Буфер результата.
|
||
@param size Количество читаемых слов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Default_params(void)
|
||
@brief Загружает заводские уставки и калибровочные значения в RAM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Load_params(void)
|
||
@brief Читает настройки из EEPROM и проверяет их целостность.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Save_params(void)
|
||
@brief Записывает текущие настройки и контрольную сумму в EEPROM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@struct LOG
|
||
@brief Границы и текущий указатель циклического журнала во внешней памяти.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void clear_mem(void)
|
||
@brief Инициализирует область журнала и очищает её рабочее состояние.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|
||
|
||
/**
|
||
@defgroup hardware Аппаратные интерфейсы
|
||
@brief GPIO, режим платы, ЦАП и последовательная индикация.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void get_Mode(void)
|
||
@brief Читает конфигурационные входы и определяет `Mode` и `Desk`.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void get_Buttons(void)
|
||
@brief Опросивает дискретные входы и обновляет биты кнопок/команд.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void setup_leds_line(void)
|
||
@brief Временно настраивает линии двух диагностических светодиодов.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void unsetup_leds_line(void)
|
||
@brief Возвращает мультиплексируемые линии из режима стартовой индикации.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void select_tpl_canal(int n_tpl)
|
||
@brief Выбирает один канал мультиплексора термопар.
|
||
@param n_tpl Номер канала термопары.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void select_tpl_255(void)
|
||
@brief Переводит адресные линии мультиплексора в неактивное состояние.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Setup_DAC_time(void)
|
||
@brief Вычисляет временные параметры программного обслуживания ЦАП.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Init_DAC(void)
|
||
@brief Инициализирует GPIO последовательного интерфейса ЦАП.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Anal_output(long vrot, long maxx)
|
||
@brief Выдаёт нормированное значение на аналоговый выход.
|
||
@param vrot Требуемое значение.
|
||
@param maxx Верхняя граница шкалы входного значения.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Load_runner(void)
|
||
@brief Обновляет выход нагрузки и формирует старт/стоп импульсы.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void kanal_Send(int adr, long dat, int dot)
|
||
@brief Передаёт число на внешний семисегментный индикатор.
|
||
@param adr Адрес индикаторного канала.
|
||
@param dat Отображаемое целое значение.
|
||
@param dot Позиция десятичной точки.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void cpu_timer1_isr_PULT(void)
|
||
@brief Периодический обработчик пульта и внешней индикации.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|
||
|
||
/**
|
||
@defgroup boot_protocol BIOS-протокол
|
||
@brief Команды удалённого чтения, записи, запуска и прошивки контроллера.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void Answer(RS_DATA *rs_arr, int n)
|
||
@brief Формирует и отправляет ответ BIOS-протокола.
|
||
@param rs_arr Канал ответа.
|
||
@param n Число элементов данных ответа.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void init(RS_DATA *rs_arr)
|
||
@brief Возвращает идентификацию работающего приложения.
|
||
@param rs_arr Канал запроса.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void initload(RS_DATA *rs_arr)
|
||
@brief Инициализирует сеанс загрузки программы.
|
||
@param rs_arr Канал запроса.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void load(RS_DATA *rs_arr)
|
||
@brief Принимает очередной блок загружаемой программы.
|
||
@param rs_arr Канал запроса.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void run(RS_DATA *rs_arr)
|
||
@brief Завершает загрузку и передаёт управление программе.
|
||
@param rs_arr Канал запроса.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void peek(RS_DATA *rs_arr)
|
||
@brief Читает участок адресного пространства контроллера.
|
||
@param rs_arr Канал запроса и ответа.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void poke(RS_DATA *rs_arr)
|
||
@brief Записывает данные в адресное пространство контроллера.
|
||
@param rs_arr Канал запроса.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void upload(RS_DATA *rs_arr)
|
||
@brief Передаёт блок памяти контроллера ведущему устройству.
|
||
@param rs_arr Канал запроса и ответа.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void tflash(RS_DATA *rs_arr)
|
||
@brief Выполняет команду обслуживания Flash TMS320F28335.
|
||
@param rs_arr Канал запроса и ответа.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void xflash(RS_DATA *rs_arr)
|
||
@brief Обрабатывает совместимую команду доступа к внешней Flash/памяти.
|
||
@param rs_arr Канал запроса и ответа.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void extendbios(RS_DATA *rs_arr)
|
||
@brief Обрабатывает расширенную команду BIOS-протокола.
|
||
@param rs_arr Канал запроса и ответа.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn unsigned int read_memory(unsigned long addr)
|
||
@brief Читает 16-битное слово по физическому адресу.
|
||
@param addr Адрес в пространстве данных C28x.
|
||
@return Прочитанное слово.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void write_memory(unsigned long addr, unsigned int data)
|
||
@brief Записывает 16-битное слово по физическому адресу.
|
||
@param addr Адрес в пространстве данных C28x.
|
||
@param data Записываемое слово.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|
||
|
||
/**
|
||
@defgroup utilities Служебные функции
|
||
@brief CRC, внешняя зона памяти и точные задержки.
|
||
@{
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn unsigned int get_crc_ccitt(unsigned int crc, unsigned int *buf, unsigned long size)
|
||
@brief Вычисляет CRC-CCITT для массива восьмибитных значений в словах C28x.
|
||
@param crc Начальное значение CRC.
|
||
@param buf Буфер входных значений.
|
||
@param size Число элементов.
|
||
@return Итоговое значение CRC.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn unsigned int get_crc_16(unsigned int crc, unsigned int *buf, unsigned long size)
|
||
@brief Вычисляет основной вариант CRC-16 проекта.
|
||
@param crc Начальное значение CRC.
|
||
@param buf Буфер входных значений.
|
||
@param size Число элементов.
|
||
@return Итоговое значение CRC.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn unsigned int get_crc_16b(unsigned int crc, unsigned int *buf, unsigned long size)
|
||
@brief Вычисляет CRC-16 с альтернативным порядком байтов.
|
||
@param crc Начальное значение CRC.
|
||
@param buf Буфер входных значений.
|
||
@param size Число элементов.
|
||
@return Итоговое значение CRC.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn int get_crc16(unsigned int *buf, int size)
|
||
@brief Вычисляет контрольное слово пакета прикладного протокола.
|
||
@param buf Буфер пакета.
|
||
@param size Число обрабатываемых элементов.
|
||
@return Шестнадцатибитное контрольное значение.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void init_zone7(void)
|
||
@brief Настраивает зону XINTF7 для внешней памяти и периферии.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void pause_us(unsigned long t)
|
||
@brief Выполняет программную задержку.
|
||
@param t Длительность в микросекундах согласно частоте проекта.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void set_cntrl_addr(int cntrl_addr, int cntrl_addr_for_all)
|
||
@brief Устанавливает индивидуальный и групповой адреса контроллера.
|
||
@param cntrl_addr Индивидуальный адрес устройства.
|
||
@param cntrl_addr_for_all Групповой широковещательный адрес.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void SPISE2P_DRV_init(SPISE2P_DRV *eeprom)
|
||
@brief Инициализирует низкоуровневый автомат SPI EEPROM.
|
||
@param eeprom Экземпляр драйвера.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void SPISE2P_DRV_tick(SPISE2P_DRV *eeprom)
|
||
@brief Выполняет один шаг неблокирующего автомата EEPROM.
|
||
@param eeprom Экземпляр драйвера.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void SPISE2P_DRV_csset(void)
|
||
@brief Деактивирует линию chip-select EEPROM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void SPISE2P_DRV_csclr(void)
|
||
@brief Активирует линию chip-select EEPROM.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn unsigned int spiSe2pFree(SPISE2P_DRV *se2p)
|
||
@brief Проверяет готовность автомата EEPROM к новой операции.
|
||
@param se2p Экземпляр драйвера.
|
||
@return Ненулевое значение, когда драйвер свободен.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void spiSe2pWrite(SPISE2P_DRV *se2p, SE2P_DATA *data)
|
||
@brief Передаёт автомату описание операции записи.
|
||
@param se2p Экземпляр драйвера.
|
||
@param data Описание адреса, буфера и длины.
|
||
|
||
*/
|
||
|
||
/**
|
||
@fn void spiSe2pRead(SPISE2P_DRV *se2p, SE2P_DATA *data)
|
||
@brief Передаёт автомату описание операции чтения.
|
||
@param se2p Экземпляр драйвера.
|
||
@param data Описание адреса, буфера и длины.
|
||
*/
|
||
|
||
/**
|
||
@}
|
||
*/
|