14 Commits

81 changed files with 29990 additions and 11821 deletions

146
.gitignore vendored Normal file
View File

@@ -0,0 +1,146 @@
# ---> uVision
# git ignore file for Keil µVision Project
# µVision 5 and µVision 4 Project screen layout file
*.uvguix.*
*.uvgui.*
*.uvoptx.*
# Listing Files
*.i
*.lst
*.m51
*.m66
*.map
# Object Files
*.axf
*.b[0-2][0-9]
*.b3[0-1]
*.bak
*.build_log.htm
*.crf
*.d
*.dep
*.elf
*.htm
*.iex
*.lnp
*.o
*.obj
*.sbr
# Firmware Files
*.bin
*.h86
*.hex
# Build Files
.bat
# Debugger Files
.ini
# JLink Files
JLinkLog.txt
# Other Files
# ---> Qt
# C++ objects and libs
*.slo
*.lo
*.o
*.a
*.la
*.lai
*.so
*.so.*
*.dll
*.dylib
# Qt-es
object_script.*.Release
object_script.*.Debug
*_plugin_import.cpp
/.qmake.cache
/.qmake.stash
*.pro.user
*.pro.user.*
*.qbs.user
*.qbs.user.*
*.moc
moc_*.cpp
moc_*.h
qrc_*.cpp
ui_*.h
*.qmlc
*.jsc
Makefile*
*build-*
*.qm
*.prl
# Qt unit tests
target_wrapper.*
# QtCreator
*.autosave
# QtCreator Qml
*.qmlproject.user
*.qmlproject.user.*
# QtCreator CMake
CMakeLists.txt.user*
# QtCreator 4.8< compilation database
compile_commands.json
# QtCreator local machine specific files for imported projects
*creator.user*
*_qmlcache.qrc
# ---> MATLAB
# Windows default autosave extension
*.asv
# OSX / *nix default autosave extension
*.m~
# Compiled MEX binaries (all platforms)
*.mex*
# Packaged app and toolbox files
*.mlappinstall
*.mltbx
# Generated helpsearch folders
helpsearch*/
# Simulink code generation folders
slprj/
sccprj/
# Matlab code generation folders
codegen/
# Simulink autosave extension
*.autosave
# Simulink cache files
*.slxc
# Octave session info
octave-workspace
/MDK-ARM/uksvep_2_2_v1.uvguix.z
/MDK-ARM/uksvep_2_2_v1/uksvep_2_2_v1_uksvep_2_2_v1.dep
/MDK-ARM/uksvep_2_2_v1/uksvep_2_2_v1.build_log.htm
/MDK-ARM/uksvep_2_2_v1/uksvep_2_2_v1.htm
/MDK-ARM/uksvep_2_2_v1.uvoptx

View File

@@ -6,8 +6,6 @@
#define m_FAST 0
#define m_SLOW 1
#define keys 0x0 // адрес повтораемой посылки «keys»
#define Inputs Modbus[0x0]
@@ -41,37 +39,25 @@
#define CanCycle (modbus+0x78) // счетчик циклов CAN
#define CanRound (modbus+0x7A) // счетчик еще более полных циклов CAN
#define komanda modbus[124]
#define Protokol modbus[125]
#define LastMode modbus[126]
#define Commands modbus[127]
#define command params[128]
#define bit_command Params[128]
#define bit_kom Modbus[124]
#define cTestLamp bit_command.bit.bit0
#define cDefParam bit_command.bit.bit1
#define cSaveParam bit_command.bit.bit2
#define cLoadParam bit_command.bit.bit3
#define cTermoCal bit_command.bit.bit4
#define cKoefCalc bit_command.bit.bit5
#define cSecretBt bit_command.bit.bit6
#define cCanReset bit_command.bit.bit7
#define cRawMeat bit_command.bit.bit8
#define cCanReset bit_command.bit.bit7
#define cReset bit_command.bit.bitF
#define cTestLamp bit_kom.bit.bit0
#define cDefParam bit_kom.bit.bit1
#define cSaveParam bit_kom.bit.bit2
#define cLoadParam bit_kom.bit.bit3
#define cTermoCal bit_kom.bit.bit4
#define cKoefCalc bit_kom.bit.bit5
#define cSecretBt bit_kom.bit.bit6
#define cCanReset bit_kom.bit.bit7
#define cRawMeat bit_kom.bit.bit8
#define cTestOut bit_kom.bit.bit9
//...
#define cReset bit_kom.bit.bitF
/*
#define cTestLamp Modbus[127].bit.bit0
#define cDefParam Modbus[127].bit.bit1
#define cSaveParam Modbus[127].bit.bit2
#define cLoadParam Modbus[127].bit.bit3
#define cTermoCal Modbus[127].bit.bit4
#define cKoefCalc Modbus[127].bit.bit5
#define cSecretBt Modbus[127].bit.bit6
#define cCanReset Modbus[127].bit.bit7
#define cRawMeat Modbus[127].bit.bit8
#define cCanReset Modbus[127].bit.bit7
#define cReset Modbus[127].bit.bitF
*/
#endif //PACKAGE

View File

@@ -23,6 +23,7 @@
/* USER CODE BEGIN 0 */
#include "message.h"
#include "gpio.h"
void CAN_filterConfig(void);
CAN_TxHeaderTypeDef TxHeader;
CAN_RxHeaderTypeDef RxHeader;
@@ -73,6 +74,20 @@ void MX_CAN_Init(void)
Error_Handler();
}
/* USER CODE BEGIN CAN_Init 2 */
CAN_filterConfig();
// CAN start
if (HAL_CAN_Start(&hcan) != HAL_OK)
{
Error_Handler();
}
// CAN notifications (interrupts)
if (HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_TX_MAILBOX_EMPTY) != HAL_OK)
{
Error_Handler();
}
/* USER CODE END CAN_Init 2 */
@@ -143,14 +158,69 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
}
/* USER CODE BEGIN 1 */
void CAN_filterConfig(void)
{
sFilterConfig.FilterBank = 0;
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.FilterIdHigh = 0x0000;
sFilterConfig.FilterIdLow = 0x0000;
sFilterConfig.FilterMaskIdHigh = 0x0000;
sFilterConfig.FilterMaskIdLow = 0x0000;
sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
sFilterConfig.FilterActivation = ENABLE;
sFilterConfig.SlaveStartFilterBank = 14;
if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
{
Error_Handler();
} }
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan_i)
{
CAN_RxHeaderTypeDef msgHeader;
uint8_t msgData[8];
unsigned int adr,qua;
unsigned short Data[4];
if (HAL_CAN_GetRxMessage(hcan_i, CAN_RX_FIFO0, &msgHeader, msgData) != HAL_OK)
{
/* Reception Error */
Error_Handler();
}
if((msgHeader.ExtId & 0xFF00000) != RX_box_ID)
if((msgHeader.ExtId & 0xFF00000) != BC_box_ID) return;
adr = msgHeader.ExtId & 0xFFFF;
qua = msgHeader.DLC/2;
Data[0] = msgData[0]; Data[0] = (Data[0]<<8) | msgData[1];
Data[1] = msgData[2]; Data[1] = (Data[1]<<8) | msgData[3];
Data[2] = msgData[4]; Data[2] = (Data[2]<<8) | msgData[5];
Data[3] = msgData[6]; Data[3] = (Data[3]<<8) | msgData[7];
if(qua ) if(adr < Modbus_LEN) modbus[adr] = Data[0]; adr++;
if(qua>1) if(adr < Modbus_LEN) modbus[adr] = Data[1]; adr++;
if(qua>2) if(adr < Modbus_LEN) modbus[adr] = Data[2]; adr++;
if(qua>3) if(adr < Modbus_LEN) modbus[adr] = Data[3];
LED_1_TGL;
}
int CAN_send(uint16_t data[], int Addr, int Qua)
{
int wait = 1000;
uint16_t wait = 1000;
static uint8_t att=0;
uint8_t i;
while(wait-- && (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) == 0));
if (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) != 0)
{
msgHeaderSend.IDE = CAN_ID_EXT;
msgHeaderSend.ExtId = TX_box_ID | (Addr & 0xFFFF);
msgHeaderSend.DLC = Qua*2;
@@ -165,20 +235,65 @@ int CAN_send(uint16_t data[], int Addr, int Qua)
HAL_CAN_AddTxMessage(&hcan, &msgHeaderSend, msgDataSend, &mailBoxNum);
LED_0_TGL;
att=0;
return 1;
}
else
{
HAL_CAN_Stop(&hcan);
HAL_CAN_Start(&hcan);
if(att>=3)
{
MX_CAN_Init();
LED_0_OFF;
LED_1_OFF;
for(i=0;i<8;i++)
{
LED_1_TGL; HAL_Delay(30);
LED_1_TGL; HAL_Delay(30);
LED_0_TGL; HAL_Delay(30);
LED_0_TGL; HAL_Delay(30);
} }
else
{
att++;
HAL_CAN_Stop(&hcan);
HAL_CAN_Start(&hcan);
LED_0_OFF;
LED_1_OFF;
for(i=0;i<10;i++)
{
LED_0_TGL;
LED_1_TGL; HAL_Delay(30);
} }
return 0;
} }
void Setup_CAN_addr(uint8_t mode)
{
BC_box_ID = 0x9F<<20;
RX_box_ID = (0x80+mode)<<20;
TX_box_ID = RX_box_ID | (1L<<28);
}
// Успешная отправка - моргание диодом
void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
{
LED_0_TGL;
}
void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
{
LED_0_TGL;
}
void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
{
LED_0_TGL;
}
// Ошибки: выключение диода
void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
{
LED_0_OFF;
}
/* USER CODE END 1 */

View File

@@ -38,7 +38,7 @@ void MX_IWDG_Init(void)
/* USER CODE END IWDG_Init 1 */
hiwdg.Instance = IWDG;
hiwdg.Init.Prescaler = IWDG_PRESCALER_256;
hiwdg.Init.Prescaler = IWDG_PRESCALER_4;
hiwdg.Init.Reload = 4095;
if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
{

View File

@@ -9,6 +9,8 @@ void ReadEnteres(void)
{
WORDE input, alarm, error;
input.all=0;
input.bit.bit0 = !IN_06; // Контроль ИП1 (питание управляющего контроллера)
input.bit.bit1 = !IN_05; // Контроль ИП2 (питание периферийных устройств)
input.bit.bit2 = !IN_04; // Контроль ИП3 (питание эл. замков, ламп освещения, УКСИ)
@@ -19,12 +21,12 @@ void ReadEnteres(void)
input.bit.bit6 = !IN_07; // Контроль 3х фазного 380 В
input.bit.bit7 = !IN_08; // Заряд накопителя
input.bit.bit8 = !IN_09; // Разряд накопителя
input.bit.bit9 = IN_10; // Авария в сети 24 В
input.bit.bit9 = IN_10; // Авария в сети 24 В, единственный нормально замкнутый сигнал
input.bit.bitD = (Squazh_U[3] > Squazh_L[3]);
input.bit.bitC = (Squazh_U[2] > Squazh_L[2]);
input.bit.bitB = (Squazh_U[1] > Squazh_L[1]);
input.bit.bitA = (Squazh_U[0] > Squazh_L[0]);
input.bit.bitA = (Squazh_U[0] > Squazh_L[0]); // Контроль питания ЛСУ
input.bit.bitB = (Squazh_U[1] > Squazh_L[1]); // Контроль питания СВО
input.bit.bitC = (Squazh_U[2] > Squazh_L[2]); // резерв
input.bit.bitD = (Squazh_U[3] > Squazh_L[3]); // Контроль питания СКК
/*
input.bit.bitA = !IN_11; // Контроль питания ЛСУ
input.bit.bitB = !IN_12; // Контроль питания СВО
@@ -33,14 +35,19 @@ void ReadEnteres(void)
*/
Inputs.all = input.all;
alarm.all = ~Inputs.all & Alarm_mask.all;
alarm.bit.bit7 = 0; // Заряд накопителя
alarm.bit.bit8 = Inputs.bit.bit8; // Разряд накопителя
alarm.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В
// Обычно неисправность это отсутствие сигнала, который есть в маске неисправностей
alarm.all = ~Inputs.all & Alarm_mask.all;
alarm.bit.bit7 = 0; // Заряд накопителя никогда не неисправность
alarm.bit.bit8 = Inputs.bit.bit8; // Разряд накопителя всегда неисправность
alarm.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В всегда неисправность
Alarms = alarm;
// Обычно авария это отсутствие сигнала, который есть в маске аварий
error.all = ~Inputs.all & Error_mask.all;
error.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В
error.bit.bit7 = 0; // Заряд накопителя никогда не авария
error.bit.bit8 = Inputs.bit.bit8 & Error_mask.bit.bit8;
// Разряд накопителя
error.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В всегда авария
Errors = error;
}

View File

@@ -100,14 +100,14 @@ int main(void)
SystemClock_Config();
/* USER CODE BEGIN SysInit */
MX_IWDG_Init();
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_CAN_Init();
MX_TIM4_Init();
MX_IWDG_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
@@ -116,23 +116,21 @@ int main(void)
LED_2_ON;
LED_3_OFF;
for(i=0;i<10;i++)
for(i=0;i<10;i++)
{
LED_0_TGL;
LED_1_TGL;
LED_2_TGL;
LED_3_TGL;
HAL_Delay(100);
HAL_Delay(50);
}
Mode = ReadJumpers()+1;
Mode = ReadJumpers()+1;
Setup_CAN_addr(Mode-1);
Load_params();
LastMode = Mode;
Protokol = PROTOKOL;
command=0;
for(i=0;i<0x80;i++)
county[i]=1;
for(i=0;i<8;i++)
@@ -142,8 +140,6 @@ for(i=0;i<10;i++)
CanCycle[i]=0;
timGo=1;
/* USER CODE END 2 */
@@ -151,219 +147,222 @@ for(i=0;i<10;i++)
/* USER CODE BEGIN WHILE */
while (1)
{
//=== БЛОК ПРИНУДИТЕЛЬНОЙ ПАУЗЫ ===//
//=== БЛОК ПРИНУДИТЕЛЬНОЙ ПАУЗЫ ===//
if (flag.force_pause)
{
__disable_irq(); // Отключаем все прерывания
for(int i = 0; i < flag.pause; i++); // Пустой цикл для задержки
__enable_irq(); // Включаем прерывания обратно
__disable_irq(); // Отключаем все прерывания
for(int i = 0; i < flag.pause; i++); // Пустой цикл для задержки
__enable_irq(); // Включаем прерывания обратно
}
//=== ОБРАБОТКА CAN-ШИНЫ ===//
if (CanGO) // Флаг разрешения работы с CAN-шиной
//=== ОБРАБОТКА CAN-ШИНЫ ===//
if (CanGO) // Флаг разрешения работы с CAN-шиной
{
CanGO = 0; // Сбрасываем флаг
CanGO = 0; // Сбрасываем флаг
// Увеличиваем счетчики ожидания для всех элементов (ограничение 30000)
// Увеличиваем счетчики ожидания для всех элементов (ограничение 30000)
for(i = 0; i < 0x80; i++)
if(espero[i] < 30000)
espero[i]++;
// Уменьшаем счетчики задержки для двух CAN-каналов
// Уменьшаем счетчики задержки для двух CAN-каналов
for(i = 0; i < 2; i++)
if(cancount[i])
cancount[i]--;
else
cancell[i] = 0; // Сброс позиции, если счетчик обнулился
cancell[i] = 0; // Сброс позиции, если счетчик обнулился
}
//=== ОБРАБОТКА КАНАЛОВ CAN ===//
for(i = 0; i < 2; i++) // Для каждого из двух CAN-каналов
//=== ОБРАБОТКА КАНАЛОВ CAN ===//
for(i = 0; i < 2; i++) // Для каждого из двух CAN-каналов
{
if (Cancount[i] && !cancount[i]) // Если есть задержка и счетчик обнулился
if (Cancount[i] && !cancount[i]) // Если есть задержка и счетчик обнулился
{
// Поиск следующего элемента для обработки
// Поиск следующего элемента для обработки
while(1)
{
if (cancell[i] >= 0x80) // Если достигли конца диапазона
if (cancell[i] >= 0x80) // Если достигли конца диапазона
{
cancell[i] = 0; // Сброс позиции
cancell[i] = 0; // Сброс позиции
if (candid[i]) // Если есть кандидат для обработки
if (candid[i]) // Если есть кандидат для обработки
{
candid[i] = 0; // Сброс флага кандидата
CanCycle[i]++; // Увеличиваем счетчик циклов
cancount[i] = CanWait[i]; // Устанавливаем задержку
goto Next; // Переход к следующей итерации
candid[i] = 0; // Сброс флага кандидата
CanCycle[i]++; // Увеличиваем счетчик циклов
cancount[i] = CanWait[i]; // Устанавливаем задержку
goto Next; // Переход к следующей итерации
}
}
// Проверка маски для определения активных элементов
// Проверка маски для определения активных элементов
mask = Maska[i][cancell[i] / 0x10] >> (cancell[i] & 0x0F);
if (!mask) // Если маска пустая
cancell[i] = (cancell[i] + 0x10) & 0xFFF0; // Переход к следующей группе
if (!mask) // Если маска пустая
cancell[i] = (cancell[i] + 0x10) & 0xFFF0; // Переход к следующей группе
else
{
// Поиск первого установленного бита в маске
// Поиск первого установленного бита в маске
while (!(mask & 1))
{
cancell[i]++;
mask >>= 1;
}
break; // Найден активный элемент
break; // Найден активный элемент
}
}
z = 1; // Флаг нормального состояния
// Проверка превышения времени ожидания
z = 1; // Флаг нормального состояния
// Проверка превышения времени ожидания
if (espero[cancell[i]] > CanRestart[i])
{
county[cancell[i]] = 1; // Установка флага необходимости отправки
z = 0; // Флаг аварийного состояния
county[cancell[i]] = 1; // Установка флага необходимости отправки
z = 0; // Флаг аварийного состояния
}
// Проверка изменения данных для отправки
// Проверка изменения данных для отправки
if (modbus[cancell[i]] != archiv[cancell[i]])
{
if (cancell[i] == keys) // Если это ключевой элемент
if (cancell[i] == keys) // Если это ключевой элемент
{
// Установка флагов для группы элементов
// Установка флагов для группы элементов
for(j = 0; j < CanRptLen; j++)
county[cancell[i] + j] = CanRptVez;
}
else
{
county[cancell[i]] = 1; // Установка флага для одиночного элемента
county[cancell[i]] = 1; // Установка флага для одиночного элемента
}
}
// Обработка элементов, требующих отправки
// Обработка элементов, требующих отправки
if (county[cancell[i]])
{
// Поиск границ группы измененных элементов
// Поиск границ группы измененных элементов
for(j = 3; j > 0 && !Isit(cancell[i] + j, i, z); j--);
for(n = j - 3; n < 0 && !Isit(cancell[i] + n, i, 1); n++);
qua = 1 + j - n; // Расчет количества элементов в группе
cancell[i] += n; // Корректировка позиции
qua = 1 + j - n; // Расчет количества элементов в группе
cancell[i] += n; // Корректировка позиции
// Обработка каждого элемента в группе
// Обработка каждого элемента в группе
for(j = 0; j < qua; j++)
{
n = cancell[i] + j;
archiv[n] = modbus[n]; // Сохранение текущего значения
espero[n] = 0; // Сброс счетчика ожидания
archiv[n] = modbus[n]; // Сохранение текущего значения
espero[n] = 0; // Сброс счетчика ожидания
if (county[n]) // Если элемент требует обработки
if (county[n]) // Если элемент требует обработки
{
county[n]--; // Уменьшение счетчика
// Если счетчик обнулился и это не циклический элемент
county[n]--; // Уменьшение счетчика
// Если счетчик обнулился и это не циклический элемент
if (!county[n] && n != cancyclo + i)
candid[i] = 1; // Установка флага кандидата
candid[i] = 1; // Установка флага кандидата
}
// Обновление маски активных элементов
// Обновление маски активных элементов
if (!county[n])
masca[n / 0x10] |= (1 << (n & 0x0F));
}
// Отправка данных через CAN-шину
// Отправка данных через CAN-шину
CAN_send(archiv, cancell[i], qua);
cancount[i] = Cancount[i]; // Установка задержки
cancell[i] += qua; // Переход к следующей позиции
cancount[i] = Cancount[i]; // Установка задержки
cancell[i] += qua; // Переход к следующей позиции
// Проверка завершения обработки всех элементов
// Проверка завершения обработки всех элементов
for(j = 0; j < 8; j++)
if ((masca[j] & Maska[i][j]) != Maska[i][j])
break;
if (j == 8) // Если все элементы обработаны
if (j == 8) // Если все элементы обработаны
{
// Сброс соответствующих битов маски
// Сброс соответствующих битов маски
for(j = 0; j < 8; j++)
masca[j] &= ~Maska[i][j];
CanRound[i]++; // Увеличение счетчика раундов
CanRound[i]++; // Увеличение счетчика раундов
}
// Управление параллельной обработкой каналов
// Управление параллельной обработкой каналов
if (Cancount[i] > 1 && !cancount[!i])
cancount[!i] = 1; // Запуск другого канала
cancount[!i] = 1; // Запуск другого канала
}
else
{
cancell[i]++; // Переход к следующему элементу
cancell[i]++; // Переход к следующему элементу
}
}
}
Next: // Метка для перехода к следующей части цикла
Next: // Метка для перехода к следующей части цикла
//=== ЧТЕНИЕ ВХОДНЫХ СИГНАЛОВ ===//
ReadEnteres(); // Функция чтения дискретных входов
//=== ЧТЕНИЕ ВХОДНЫХ СИГНАЛОВ ===//
ReadEnteres(); // Функция чтения дискретных входов
//=== УПРАВЛЕНИЕ ВЫХОДНЫМИ СИГНАЛАМИ ===//
if (Errors.all | Alarms.all)
Pvt4_OFF; // Выключение сигнала "Система ВЭП в норме"
else
Pvt4_ON; // Включение сигнала "Система ВЭП в норме"
//=== УПРАВЛЕНИЕ ВЫХОДНЫМИ СИГНАЛАМИ ===//
if(!cTestOut)
{
if (Errors.all | Alarms.all)
Pvt4_OFF; // Выключение сигнала "Система ВЭП в норме"
else
Pvt4_ON; // Включение сигнала "Система ВЭП в норме"
if (Errors.all)
Pvt3_ON; // Включение сигнала "Авария системы ВЭП"
else
Pvt3_OFF; // Выключение сигнала "Авария системы ВЭП"
if (Errors.all)
Pvt3_ON; // Включение сигнала "Авария системы ВЭП"
else
Pvt3_OFF; // Выключение сигнала "Авария системы ВЭП"
if (Falling_asleep)
Pvt2_ON; // Включение сигнала управления
else
Pvt2_OFF; // Выключение сигнала управления
if (Falling_asleep)
Pvt2_ON; // Включение сигнала управления
else
Pvt2_OFF; // Выключение сигнала управления
}
//=== ОБРАБОТКА КОМАНД ===//
if (Commands != precom) // Если команды изменились
//=== ОБРАБОТКА КОМАНД ===//
if (Commands != precom) // Если команды изменились
{
command = (~precom | command) & Commands; // Обновление активных команд
komanda = Commands & (~precom|komanda); // Обновление активных команд
}
precom = Commands; // Сохранение текущих команд для следующей итерации
precom = Commands; // Сохранение текущих команд для следующей итерации
//=== ОБРАБОТКА СИСТЕМНЫХ КОМАНД ===//
if (cDefParam) // Команда сброса параметров по умолчанию
//=== ОБРАБОТКА СИСТЕМНЫХ КОМАНД ===//
if (cDefParam) // Команда сброса параметров по умолчанию
{
cDefParam = 0;
Default_params(); // Вызов функции сброса параметров
Default_params(); // Вызов функции сброса параметров
Commands=precom;
}
if (cSaveParam) // Команда сохранения параметров
if (cSaveParam) // Команда сохранения параметров
{
cSaveParam = 0;
Save_params(); // Вызов функции сохранения параметров
Save_params(); // Вызов функции сохранения параметров
}
if (cLoadParam) // Команда загрузки параметров
if (cLoadParam) // Команда загрузки параметров
{
cLoadParam = 0;
Load_params(); // Вызов функции загрузки параметров
Load_params(); // Вызов функции загрузки параметров
Commands=precom;
}
if (cCanReset) // Команда сброса CAN-системы
if (cCanReset) // Команда сброса CAN-системы
{
cCanReset = 0;
// Сброс всех счетчиков и состояний CAN-системы
// Сброс всех счетчиков и состояний CAN-системы
for(i = 0; i < 0x80; i++)
county[i] = 1; // Установка флагов отправки для всех элементов
county[i] = 1; // Установка флагов отправки для всех элементов
for(i = 0; i < 2; i++)
{
CanCycle[i] = 0; // Сброс счетчиков циклов
CanRound[i] = 0; // Сброс счетчиков раундов
cancount[i] = 0; // Сброс счетчиков задержки
cancell[i] = 0; // Сброс позиций
CanCycle[i] = 0; // Сброс счетчиков циклов
CanRound[i] = 0; // Сброс счетчиков раундов
cancount[i] = 0; // Сброс счетчиков задержки
cancell[i] = 0; // Сброс позиций
}
for(i = 0; i < 8; i++)
masca[i] = 0; // Сброс масок
masca[i] = 0; // Сброс масок
}
/* USER CODE END WHILE */
@@ -414,24 +413,193 @@ void SystemClock_Config(void)
/* USER CODE BEGIN 4 */
//////////////// USER FUNC ////////////////////
/**
* @brief Проверяет, активен ли указанный элемент для обработки в CAN-шине
* @param num Номер элемента (0x00-0x7F)
* @param i Номер CAN-канала (0 или 1)
* @param z Флаг дополнительных проверок (1 - включить доп. проверки, 0 - только маска)
* @return 1 - элемент активен, 0 - элемент не активен
*/
int Isit(int num, int i, int z)
{
int res, pls;
if((num<0)||(num>=0x80)) return 0;
res = Maska[i][num/0x10];
res &= (1<<(num&0x0F));
if(z)
{
pls = (espero[num]>CanRestart[i]/2);
pls = pls || county[num];
res = res && pls;
}
return res;
int res, pls;
//=== ПРОВЕРКА ДИАПАЗОНА ===//
// Если номер элемента вне допустимого диапазона (0x00-0x7F)
if((num < 0) || (num >= 0x80))
return 0; // Элемент не активен
//=== ПРОВЕРКА МАСКИ КАНАЛА ===//
// Определяем битовую маску для данного элемента
// num/0x10 - определяем индекс в массиве масок (0-7)
// num&0x0F - определяем позицию бита в слове (0-15)
res = Maska[i][num / 0x10]; // Получаем маску для группы элементов
res &= (1 << (num & 0x0F)); // Проверяем конкретный бит в маске
//=== ДОПОЛНИТЕЛЬНЫЕ ПРОВЕРКИ (если z != 0) ===//
if(z)
{
// Проверка времени ожидания: если превышена половина времени перезапуска
pls = (espero[num] > CanRestart[i] / 2);
// ИЛИ проверка счетчика отправки (если county[num] != 0)
pls = pls || county[num];
// Комбинированная проверка: должен быть установлен в маске И выполнять условия
res = res && pls;
}
return res; // Возвращаем результат проверки
}
/**
* @brief Функция обработки милисекундных событий системы
* @note Вызывается каждую миллисекунду из SysTick_Handler
*/
void Millisecond()
{
// Статические переменные для хранения состояния между вызовами
static int CanPowse; // Счетчик для управления CAN-шиной
static unsigned int count_blink = 0, // Счетчик для мигания
count_bright = 0, // Счетчик для управления яркостью
count_mode, // Счетчик режимов мигания
blink_over, // Флаг переключения состояния мигания
blink_alarm, // Флаг мигания аварии
power_lamp, // Состояние силовой лампы
work_diod, // Состояние рабочего светодиода
norm_diod; // Состояние нормального светодиода
static int preTest; // Предыдущее состояние теста
int TST,JMP; // Текущее состояние теста
// Константы времени
#define CANPOWSE 10 // 10 msec - период обновления CAN
#define BLINK_TIME 250 // 0.25 sec - период мигания
//=== ОБНОВЛЕНИЕ WATCHDOG ===//
if(!cReset)
IWDG->KR = 0xAAAA; // Сброс watchdog таймера
//=== ПРОВЕРКА АКТИВНОСТИ ТАЙМЕРА ===//
if(!timGo) return; // Если таймер не активен - выход
//=== ЧТЕНИЕ ПЕРЕКЛЮЧАТЕЛЕЙ И КНОПОК ===//
Jumpers.byt.byte_1 = ReadJumpers(); // Чтение состояния переключателей
JMP = Jumpers.bit.bit0 = Buttons.bit.bit0 = TestJumper(); // Чтение состояния кнопки
//=== УПРАВЛЕНИЕ CAN-ШИНОЙ ===//
if(++CanPowse >= CANPOWSE)
{
CanPowse = 0; // Сброс счетчика
CanGO = 1; // Установка флага разрешения работы CAN
}
//=== УПРАВЛЕНИЕ РЕЖИМОМ "ЗАСЫПАНИЯ" ===//
if(Alarms.bit.bit8) // Разряд батареи
{
if (Falling_asleep) Falling_asleep--; // Уменьшение времени до "сна"
}
else
Falling_asleep = 1000L * Sleep_time; // Установка времени до "сна"
//=== ОБРАБОТКА ТЕСТОВОГО РЕЖИМА ===//
TST = JMP | cTestLamp; // Текущее состояние теста (кнопка или команда)
if(TST & !preTest) // Обнаружение фронта нажатия кнопки
{
count_blink = BLINK_TIME; // Сброс счетчика мигания
count_mode = 0; // Сброс счетчика режимов
}
preTest = TST; // Сохранение состояния для следующего вызова
//=== УПРАВЛЕНИЕ МИГАНИЕМ ИНДИКАТОРОВ ===//
if(++count_blink >= BLINK_TIME)
{
count_blink = 0; // Сброс счетчика
count_mode++; // Переключение режима
blink_over = (count_mode & 1) ? 1 : 0; // Мигание 1:1 (50%)
blink_alarm = (count_mode & 7) ? 1 : 0; // Мигание 1:7 (12.5%)
}
//=== УСТАНОВКА СТАНДАРТНЫХ СОСТОЯНИЙ ИНДИКАТОРОВ ===//
power_lamp = 1; // Силовая лампа включена
norm_diod = 1; // Нормальный светодиод включен
work_diod = !blink_over; // Рабочий светодиод синхронизирован с миганием
//=== РЕЖИМ ТЕСТИРОВАНИЯ ===//
if(TST)
{
power_lamp = blink_over; // Мигание силовой лампы
norm_diod = blink_over; // Мигание нормального светодиода
work_diod = blink_over; // Мигание рабочего светодиода
}
//=== РЕЖИМ ОСВЕЩЕНИЯ ===//
else if(Lightness)
{
power_lamp = norm_diod = 0; // Базовое состояние - выключено
// Уровень освещенности 2: постоянно включено
if(Lightness == 2) power_lamp = norm_diod = 1;
// Уровень освещенности 3: медленное мигание (50%)
if(Lightness == 3) power_lamp = norm_diod = blink_over;
// Уровень освещенности 4: быстрое мигание (12.5%)
if(Lightness == 4) power_lamp = norm_diod = blink_alarm;
// Уровень освещенности 5: инверсное быстрое мигание (87.5%)
if(Lightness == 5) power_lamp = norm_diod = !blink_alarm;
}
//=== РЕЖИМ ОШИБОК ===//
else if(Errors.all)
{
power_lamp = blink_over; // Мигание при ошибках
norm_diod = blink_over; // Мигание при ошибках
}
//=== РЕЖИМ ТРЕВОГ ===//
else if(Alarms.all)
{
power_lamp = blink_alarm; // Быстрое мигание при тревогах
norm_diod = blink_alarm; // Быстрое мигание при тревогах
}
//=== ШИМ УПРАВЛЕНИЕ ЯРКОСТЬЮ СИЛОВОЙ ЛАМПЫ ===//
if(++count_bright == 10) // maximum_bright (100%)
{
count_bright = 0;
if(power_lamp) Pvt1_ON; // Включение на полную яркость
else Pvt1_OFF; // Выключение
}
//=== УПРАВЛЕНИЕ ЯРКОСТЬЮ ===//
if(count_bright == Brightness)
if(!TST) Pvt1_OFF; // Отключение лампочки с регулировкой яркости
//=== УПРАВЛЕНИЕ СВЕТОДИОДАМИ ===//
if(work_diod) LED_2_ON; // Включение рабочего светодиода
else LED_2_OFF; // Выключение рабочего светодиода
if(norm_diod) LED_3_ON; // Включение нормального светодиода
else LED_3_OFF; // Выключение нормального светодиода
// Тест дискретных сигналов
if(cTestOut && JMP)
{
if (blink_over)
Pvt4_OFF; // Выключение сигнала "Система ВЭП в норме"
else
Pvt4_ON; // Включение сигнала "Система ВЭП в норме"
if (blink_over)
Pvt3_ON; // Включение сигнала "Авария системы ВЭП"
else
Pvt3_OFF; // Выключение сигнала "Авария системы ВЭП"
if (blink_over)
Pvt2_ON; // Включение сигнала управления
else
Pvt2_OFF; // Выключение сигнала управления
}
}
/////////////////////////////////////////////
@@ -450,12 +618,15 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
/* USER CODE BEGIN Callback 0 */
if(htim->Instance == TIM4) //check if the interrupt comes from TIM4
ReadSeanus();
/* USER CODE END Callback 0 */
if (htim->Instance == TIM8) {
HAL_IncTick();
}
Millisecond();
}
/* USER CODE BEGIN Callback 1 */
/* USER CODE END Callback 1 */
}

View File

@@ -123,7 +123,9 @@ void Init_packMask()
Maska[m_SLOW][6]|= 0x05FF; // Яркость лампы и периоды посылок
Maska[m_FAST][7]|= 0x0100; // Счетчик посылок
Maska[m_SLOW][7]|= 0x0E00; // Счетчик посылок
Maska[m_SLOW][7]|= 0xE000; // Протокол, адрес, команды
Maska[m_SLOW][7]|= 0x6000; // Протокол, адрес
Maska[m_FAST][7]|= 0x9000; // Команды
}

View File

@@ -63,6 +63,10 @@ void MX_TIM4_Init(void)
}
/* USER CODE BEGIN TIM4_Init 2 */
HAL_TIM_Base_MspInit(&htim4);
HAL_TIM_Base_Start_IT(&htim4);
/* USER CODE END TIM4_Init 2 */
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,638 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Extensions>
<cExt>*.c</cExt>
<aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj; *.o</oExt>
<lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc; *.md</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>uksvep_2_2_v1</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>8000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath></ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>1</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>4</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>Segger\JL2CM3.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>JL2CM3</Key>
<Name>-U60145543 -O14 -S10 -ZTIFSpeedSel25000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06414041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U-O142 -O2190 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>114</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134235892</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\uksvep_2_2_v1\../Core/Src/main.c\114</Expression>
</Bp>
</Breakpoint>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>1</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>2</Protocol>
<DbgClock>10000000</DbgClock>
</DebugDescription>
</TargetOption>
</Target>
<Group>
<GroupName>Application/MDK-ARM</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>startup_stm32f103xe.s</PathWithFileName>
<FilenameWithoutPath>startup_stm32f103xe.s</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Application/User/Core</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\crc16.c</PathWithFileName>
<FilenameWithoutPath>crc16.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\eeprom.c</PathWithFileName>
<FilenameWithoutPath>eeprom.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\lampa.c</PathWithFileName>
<FilenameWithoutPath>lampa.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\message.c</PathWithFileName>
<FilenameWithoutPath>message.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/gpio.c</PathWithFileName>
<FilenameWithoutPath>gpio.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/can.c</PathWithFileName>
<FilenameWithoutPath>can.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/iwdg.c</PathWithFileName>
<FilenameWithoutPath>iwdg.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/tim.c</PathWithFileName>
<FilenameWithoutPath>tim.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/usart.c</PathWithFileName>
<FilenameWithoutPath>usart.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/stm32f1xx_it.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_it.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/stm32f1xx_hal_msp.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_msp.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/stm32f1xx_hal_timebase_tim.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_timebase_tim.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Drivers/STM32F1xx_HAL_Driver</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_gpio_ex.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_can.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_rcc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_rcc_ex.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_gpio.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_dma.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_cortex.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_pwr.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_flash.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_flash_ex.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_exti.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_iwdg.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_tim.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_tim_ex.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_uart.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Drivers/CMSIS</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>31</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/system_stm32f1xx.c</PathWithFileName>
<FilenameWithoutPath>system_stm32f1xx.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
</ProjectOpt>

View File

@@ -17,7 +17,7 @@
<TargetCommonOption>
<Device>STM32F103RC</Device>
<Vendor>STMicroelectronics</Vendor>
<PackID>Keil.STM32F1xx_DFP.2.4.0</PackID>
<PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
<PackURL>http://www.keil.com/pack/</PackURL>
<Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ</Cpu>
<FlashUtilSpec></FlashUtilSpec>
@@ -138,7 +138,7 @@
<DriverSelection>4101</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2V8M.DLL</Flash2>
<Flash2>BIN\UL2CM3.DLL</Flash2>
<Flash3></Flash3>
<Flash4></Flash4>
<pFcarmOut></pFcarmOut>

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/can.o: ..\Core\Src\can.c ..\Core\Inc\can.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

Binary file not shown.

View File

@@ -1,2 +1,2 @@
uksvep_2_2_v1/crc16.o: ..\Core\Src\crc16.c ..\Core\Inc\crc16.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h

Binary file not shown.

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/eeprom.o: ..\Core\Src\eeprom.c ..\Core\Inc\eeprom.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

Binary file not shown.

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/gpio.o: ..\Core\Src\gpio.c ..\Core\Inc\gpio.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

Binary file not shown.

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/iwdg.o: ..\Core\Src\iwdg.c ..\Core\Inc\iwdg.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

Binary file not shown.

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/lampa.o: ..\Core\Src\lampa.c ..\Core\Inc\main.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -31,5 +31,5 @@ uksvep_2_2_v1/lampa.o: ..\Core\Src\lampa.c ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h \
..\Core\Inc\gpio.h ..\Core\Inc\lampa.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h ..\Core\Inc\struc.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdbool.h ..\Core\Inc\struc.h \
..\Core\Inc\message.h ..\Core\Inc\package.h

Binary file not shown.

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/main.o: ..\Core\Src\main.c ..\Core\Inc\main.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -33,4 +33,4 @@ uksvep_2_2_v1/main.o: ..\Core\Src\main.c ..\Core\Inc\main.h \
..\Core\Inc\can.h ..\Core\Inc\iwdg.h ..\Core\Inc\tim.h \
..\Core\Inc\usart.h ..\Core\Inc\gpio.h ..\Core\Inc\package.h \
..\Core\Inc\message.h ..\Core\Inc\struc.h ..\Core\Inc\lampa.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdbool.h

Binary file not shown.

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/message.o: ..\Core\Src\message.c \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

Binary file not shown.

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_can.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_cortex.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_dma.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_exti.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_flash.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_flash_ex.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_gpio.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_gpio_ex.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -7,15 +7,15 @@ uksvep_2_2_v1/stm32f1xx_hal_iwdg.o: \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

View File

@@ -6,15 +6,15 @@ uksvep_2_2_v1/stm32f1xx_hal_msp.o: ..\Core\Src\stm32f1xx_hal_msp.c \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \

Some files were not shown because too many files have changed in this diff Show More