| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | #include "at32f403a_407.h" #include "settings_api.h"#include "settings_dio.h"#if defined (MDIO_88)//void settings_dio_set_all_default(void){    // Дискретные/счетные входы    settings_din_def(&settings);        // Выходы    settings_do_def(&settings);        // Время ведения архива по каждому каналу (сек.)    for (uint8_t i = 0; i < ARCH_DIO_CH_NUMBER; i++) {        settings.period_archive[i] = 3600;    }}// Установить параметры дискретных входов по умолчаниюvoid settings_din_def(settings_t *settings){    // Все входы выключены    settings->di_state_bits = 0;        // Параметры входов в обычном режиме    for (int i = 0; i < DI_NUMBER; i++) {        settings->di[i].state = 0;    }        settings->di_mode_bits = 0;    settings->di_norm_state_bits = 0;        for (int i = 0; i < DI_NUMBER; i++) {        settings->di_debounce[i] = 50;    }}// Выходы. Настройка по умолчанию.void settings_do_def(settings_t *settings){    for (uint8_t i = 0; i < DO_NUMBER; i++)     {        settings->dout[i].state = 0;    // выход выключен        settings->dout[i].mode = 0;     // режим работы выхода (обычный выход)        settings->dout[i].value = 0;    // значение на выходе в режиме обычного выхода        settings->dout[i].pwm_duty = 30;// заполнение PWM        settings->dout[i].pwm_period = 50; // период PWM                settings->dout_save[i].state = 0;    // выход выключен        settings->dout_save[i].mode = 0;     // режим работы выхода (обычный выход)        settings->dout_save[i].value = 0;    // значение на выходе в режиме обычного выхода        settings->dout_save[i].pwm_duty = 30;// заполнение PWM        settings->dout_save[i].pwm_period = 50; // период PWM    }}#endif
 |