17 Commits

Author SHA1 Message Date
964b00f1aa Тест дискретных сигналов 2025-11-18 10:48:59 +03:00
964da5d306 Поправил аварии "заряд" и "разряд" 2025-11-13 11:25:26 +03:00
70609ddc5a migrate cube proj for CubeMX 6.15.0 2025-09-18 16:19:44 +03:00
c46dde7c5c Прием посылок CAN. Расчет скважностей по TIM4 2025-08-28 12:44:48 +03:00
f2b52210e9 добавил freeze iwdg для debug 2025-08-25 16:48:19 +03:00
9ff61f7825 игнор проектных настроек 2025-08-25 16:46:14 +03:00
ed3ac12f75 перенес IWDG что бы инициализировался раньше 2025-08-25 16:28:23 +03:00
Razvalyaev
d9c19bf743 Исправлен id по can: был std, теперь ext (бит IDE в msgHeaderSend)
Сделано моргание диодом только по успешной отправке по CAN
2025-08-25 16:03:37 +03:00
327f65e16b add to gitingore 2025-08-22 18:43:55 +03:00
0699aee653 nothing 2025-08-22 18:36:06 +03:00
c2b7720886 add gitignore 2025-08-22 18:34:01 +03:00
072f042fe3 невыжные файлы 2025-08-22 18:33:03 +03:00
b9db537db1 потерял функцию millisecond подписал комментарии к функциям 2025-08-22 18:32:37 +03:00
a7d6faca8b смена кодировки 2025-08-22 18:25:51 +03:00
d6c3e5d7be перенес все файлы Димы в пересобраный проект 2025-08-22 17:31:23 +03:00
120ec1cd90 не значимые изменения 2025-08-22 16:14:23 +03:00
370a0a98e6 обозвал порты как в КЛГИ 2025-08-22 16:13:03 +03:00
100 changed files with 32430 additions and 7672 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

File diff suppressed because one or more lines are too long

View File

@@ -41,7 +41,9 @@ extern CAN_HandleTypeDef hcan;
void MX_CAN_Init(void); void MX_CAN_Init(void);
/* USER CODE BEGIN Prototypes */ /* USER CODE BEGIN Prototypes */
int CAN_send(uint16_t data[], int Addr, int Qua);
void Setup_CAN_addr(uint8_t mode);
void CAN_filterConfig(void);
/* USER CODE END Prototypes */ /* USER CODE END Prototypes */
#ifdef __cplusplus #ifdef __cplusplus

10
Core/Inc/crc16.h Normal file
View File

@@ -0,0 +1,10 @@
#include "stdint.h"
typedef unsigned short WORD;
typedef unsigned char byte;
unsigned int get_crc_ccitt(unsigned int crc, unsigned int *buf, unsigned long size );
unsigned int get_crc_16(unsigned int crc,unsigned int *buf,unsigned long size );
unsigned int get_crc_16b(unsigned int crc,unsigned int *buf,unsigned long size );
int get_crc16(uint16_t *buf, int size );

20
Core/Inc/eeprom.h Normal file
View File

@@ -0,0 +1,20 @@
#ifndef __EEPROM_H
#define __EEPROM_H
#ifdef __cplusplus
extern "C" {
#endif
#include "stm32f1xx_hal.h"
#define FLASH_EEPROM_BASE 0x0801F800
#define FLASH_STARTO 0xBABEFACE
void putIntoEeprom(uint16_t, uint16_t*);
uint16_t watInTheFlash(uint32_t);
#ifdef __cplusplus
}
#endif
#endif /* __EEPROM_H */

30
Core/Inc/lampa.h Normal file
View File

@@ -0,0 +1,30 @@
#ifndef __LAMPA_H
#define __LAMPA_H
/*
* Применяется метод Слой аппаратных абстракции(HAL) так он последний(модный),
* тут описано библиотечные вызовы
*/
#ifdef __cplusplus
extern "C" {
#endif
#include "main.h"
#include "stdbool.h"
#define Delay 1000
#define numUno 1
#define numNul 0
void ReadEnteres(void);
uint16_t ReadJumpers(void);
uint16_t TestJumper(void);
void ReadSeanus(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -63,10 +63,10 @@ void Error_Handler(void);
#define SELEKT_PCH_GPIO_Port GPIOC #define SELEKT_PCH_GPIO_Port GPIOC
#define IN_05_Pin GPIO_PIN_15 #define IN_05_Pin GPIO_PIN_15
#define IN_05_GPIO_Port GPIOC #define IN_05_GPIO_Port GPIOC
#define LED1_Pin GPIO_PIN_2 #define LED2_Pin GPIO_PIN_2
#define LED1_GPIO_Port GPIOC
#define LED2_Pin GPIO_PIN_3
#define LED2_GPIO_Port GPIOC #define LED2_GPIO_Port GPIOC
#define LED3_Pin GPIO_PIN_3
#define LED3_GPIO_Port GPIOC
#define IN_04_Pin GPIO_PIN_0 #define IN_04_Pin GPIO_PIN_0
#define IN_04_GPIO_Port GPIOA #define IN_04_GPIO_Port GPIOA
#define IN_03_Pin GPIO_PIN_1 #define IN_03_Pin GPIO_PIN_1
@@ -79,20 +79,20 @@ void Error_Handler(void);
#define IN_14_GPIO_Port GPIOA #define IN_14_GPIO_Port GPIOA
#define IN_13_Pin GPIO_PIN_5 #define IN_13_Pin GPIO_PIN_5
#define IN_13_GPIO_Port GPIOA #define IN_13_GPIO_Port GPIOA
#define J0_Pin GPIO_PIN_7 #define J0_Pin GPIO_PIN_6
#define J0_GPIO_Port GPIOA #define J0_GPIO_Port GPIOA
#define J1_Pin GPIO_PIN_4 #define J1_Pin GPIO_PIN_7
#define J1_GPIO_Port GPIOC #define J1_GPIO_Port GPIOA
#define J2_Pin GPIO_PIN_5 #define J2_Pin GPIO_PIN_4
#define J2_GPIO_Port GPIOC #define J2_GPIO_Port GPIOC
#define J3_Pin GPIO_PIN_0 #define J3_Pin GPIO_PIN_5
#define J3_GPIO_Port GPIOB #define J3_GPIO_Port GPIOC
#define IN_12_Pin GPIO_PIN_1 #define IN_12_Pin GPIO_PIN_0
#define IN_12_GPIO_Port GPIOB #define IN_12_GPIO_Port GPIOB
#define IN_11_Pin GPIO_PIN_1
#define IN_11_GPIO_Port GPIOB
#define BOOT1_Pin GPIO_PIN_2 #define BOOT1_Pin GPIO_PIN_2
#define BOOT1_GPIO_Port GPIOB #define BOOT1_GPIO_Port GPIOB
#define IN_11_Pin GPIO_PIN_10
#define IN_11_GPIO_Port GPIOB
#define IN_10_Pin GPIO_PIN_12 #define IN_10_Pin GPIO_PIN_12
#define IN_10_GPIO_Port GPIOB #define IN_10_GPIO_Port GPIOB
#define IN_09_Pin GPIO_PIN_13 #define IN_09_Pin GPIO_PIN_13
@@ -109,9 +109,88 @@ void Error_Handler(void);
#define PVT2_GPIO_Port GPIOC #define PVT2_GPIO_Port GPIOC
#define PVT1_Pin GPIO_PIN_9 #define PVT1_Pin GPIO_PIN_9
#define PVT1_GPIO_Port GPIOC #define PVT1_GPIO_Port GPIOC
#define LED0_Pin GPIO_PIN_5
#define LED0_GPIO_Port GPIOB
#define LED1_Pin GPIO_PIN_6
#define LED1_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */ /* USER CODE BEGIN Private defines */
/////////// USER define /////////
#define Jselect HAL_GPIO_ReadPin(Jselect_GPIO_Port, Jselect_Pin)
#define Jselect_Pin GPIO_PIN_14
#define Jselect_GPIO_Port GPIOC
#define LED_0_OFF HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
#define LED_0_ON HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
#define LED_0_TGL HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin)
#define LED_1_OFF HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
#define LED_1_ON HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
#define LED_1_TGL HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin)
#define LED_2_ON HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
#define LED_2_OFF HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
#define LED_2_TGL HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin)
#define LED_3_ON HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
#define LED_3_OFF HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
#define LED_3_TGL HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin)
#define Pvt1_ON HAL_GPIO_WritePin(PVT1_GPIO_Port, PVT1_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
#define Pvt1_OFF HAL_GPIO_WritePin(PVT1_GPIO_Port, PVT1_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
#define Pvt1_TGL HAL_GPIO_TogglePin(PVT1_GPIO_Port, PVT1_Pin)
#define Pvt2_ON HAL_GPIO_WritePin(PVT2_GPIO_Port, PVT2_Pin, GPIO_PIN_SET) //set - ????????????? ???, reset - ??????? ???
#define Pvt2_OFF HAL_GPIO_WritePin(PVT2_GPIO_Port, PVT2_Pin, GPIO_PIN_RESET) //????? ??????? ? main.h ??????? ?????? ?????????????
#define Pvt2_TGL HAL_GPIO_TogglePin(PVT2_GPIO_Port, PVT2_Pin)
#define Pvt3_ON HAL_GPIO_WritePin(PVT3_GPIO_Port, PVT3_Pin, GPIO_PIN_SET)
#define Pvt3_OFF HAL_GPIO_WritePin(PVT3_GPIO_Port, PVT3_Pin, GPIO_PIN_RESET)
#define Pvt3_TGL HAL_GPIO_TogglePin(PVT3_GPIO_Port, PVT3_Pin)
#define Pvt4_ON HAL_GPIO_WritePin(PVT4_GPIO_Port, PVT4_Pin, GPIO_PIN_SET)
#define Pvt4_OFF HAL_GPIO_WritePin(PVT4_GPIO_Port, PVT4_Pin, GPIO_PIN_RESET)
#define Pvt4_TGL HAL_GPIO_TogglePin(PVT4_GPIO_Port, PVT4_Pin)
#define IN_01 HAL_GPIO_ReadPin(IN_01_GPIO_Port, IN_01_Pin) // ???????? ??1 (??????? ???????????? ???????????)
#define IN_02 HAL_GPIO_ReadPin(IN_02_GPIO_Port, IN_02_Pin) // ???????? ??2 (??????? ???????????? ?????????)
#define IN_03 HAL_GPIO_ReadPin(IN_03_GPIO_Port, IN_03_Pin) // ???????? ??3 (??????? ??. ??????, ???? ?????????, ????)
#define IN_04 HAL_GPIO_ReadPin(IN_04_GPIO_Port, IN_04_Pin) // ???????? ??4 (??????? ???????? ???? ? ?????????? +)
#define IN_05 HAL_GPIO_ReadPin(IN_05_GPIO_Port, IN_05_Pin) // ???????? ??5 (??????? ???????? ???? ? ?????????? )
#define IN_06 HAL_GPIO_ReadPin(IN_06_GPIO_Port, IN_06_Pin) // ???????? ??6 (??????? ?????????)
#define IN_07 HAL_GPIO_ReadPin(IN_07_GPIO_Port, IN_07_Pin) // ???????? 3? ??????? 380 ?
#define IN_08 HAL_GPIO_ReadPin(IN_08_GPIO_Port, IN_08_Pin) // ????? ??????????
#define IN_09 HAL_GPIO_ReadPin(IN_09_GPIO_Port, IN_09_Pin) // ?????? ??????????
#define IN_10 HAL_GPIO_ReadPin(IN_10_GPIO_Port, IN_10_Pin) // ?????? ? ???? 24 ?
#define IN_11 HAL_GPIO_ReadPin(IN_11_GPIO_Port, IN_11_Pin) // ???????? ??????? ???
#define IN_12 HAL_GPIO_ReadPin(IN_12_GPIO_Port, IN_12_Pin) // ??????
#define IN_13 HAL_GPIO_ReadPin(IN_13_GPIO_Port, IN_13_Pin) // ??????
#define IN_14 HAL_GPIO_ReadPin(IN_14_GPIO_Port, IN_14_Pin) // ???????? ??????? ???
#define J0 HAL_GPIO_ReadPin(J0_GPIO_Port, J0_Pin) //Read the specified input port pin
#define J1 HAL_GPIO_ReadPin(J1_GPIO_Port, J1_Pin)
#define J2 HAL_GPIO_ReadPin(J2_GPIO_Port, J2_Pin)
#define J3 HAL_GPIO_ReadPin(J3_GPIO_Port, J3_Pin)
/////////////////////////////////
int Isit(int num, int i, int z);
typedef struct // ñòðóêòóðà ôëàãîâ
{
uint8_t force_pause:1;
uint32_t pause;
// uint8_t
// uint16_t
}FLAG;
/* USER CODE END Private defines */ /* USER CODE END Private defines */
#ifdef __cplusplus #ifdef __cplusplus

25
Core/Inc/message.h Normal file
View File

@@ -0,0 +1,25 @@
#ifndef MESSAGE_H
#define MESSAGE_H
#include "stdint.h"
#include "struc.h"
typedef unsigned char CHAR;
#define Modbus_LEN 0x000080
#define Modbus ((WORDE *)modbus)
#define Params ((WORDE *)params)
extern uint16_t Mode;
extern uint16_t modbus[],params[],archiv[],county[],espero[];
extern LONGE* outputs;
extern uint16_t Maska[][8];
void Save_params(void);
void Load_params(void);
void Default_params(void);
#endif //MESSAGE_H

63
Core/Inc/package.h Normal file
View File

@@ -0,0 +1,63 @@
#ifndef PACKAGE
#define PACKAGE
#define PROTOKOL 3
#define m_FAST 0
#define m_SLOW 1
#define keys 0x0 // адрес повтораемой посылки «keys»
#define Inputs Modbus[0x0]
#define Alarms Modbus[0x1]
#define Errors Modbus[0x2]
#define Alarm_mask Modbus[0x8]
#define Error_mask Modbus[0x9]
#define Jumpers Modbus[0x10]
#define Buttons Modbus[0x11]
#define jumpers modbus[0x10]
#define buttons modbus[0x11]
#define Squazh_U (modbus+0x18)
#define Sleep_time modbus[0x48]
#define Squazh_L (modbus+0x30)
#define Cancount (modbus+0x60) // пауза между посылками CAN
#define CanWait (modbus+0x62) // пауза после прохождениа цикла
#define CanRestart (modbus+0x64) // перезапуск посылки
#define CanRptVez modbus[0x66] // кол-во повторений посылки «keys»
#define CanRptLen modbus[0x67] // длина повтораемой посылки «keys»
#define Brightness modbus[0x68] // аркость сигнальной лампочки
#define Lightness modbus[0x6A] // управление сигнальной лампочки
#define cancyclo 0x78 // его адрес
#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 bit_kom Modbus[124]
#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
#endif //PACKAGE

View File

@@ -65,7 +65,7 @@
/*#define HAL_SPI_MODULE_ENABLED */ /*#define HAL_SPI_MODULE_ENABLED */
/*#define HAL_SRAM_MODULE_ENABLED */ /*#define HAL_SRAM_MODULE_ENABLED */
#define HAL_TIM_MODULE_ENABLED #define HAL_TIM_MODULE_ENABLED
/*#define HAL_UART_MODULE_ENABLED */ #define HAL_UART_MODULE_ENABLED
/*#define HAL_USART_MODULE_ENABLED */ /*#define HAL_USART_MODULE_ENABLED */
/*#define HAL_WWDG_MODULE_ENABLED */ /*#define HAL_WWDG_MODULE_ENABLED */

View File

@@ -59,6 +59,7 @@ void USB_HP_CAN1_TX_IRQHandler(void);
void USB_LP_CAN1_RX0_IRQHandler(void); void USB_LP_CAN1_RX0_IRQHandler(void);
void TIM4_IRQHandler(void); void TIM4_IRQHandler(void);
void TIM8_UP_IRQHandler(void); void TIM8_UP_IRQHandler(void);
void UART4_IRQHandler(void);
/* USER CODE BEGIN EFP */ /* USER CODE BEGIN EFP */
/* USER CODE END EFP */ /* USER CODE END EFP */

153
Core/Inc/struc.h Normal file
View File

@@ -0,0 +1,153 @@
#ifndef __STRUC_H
#define __STRUC_H
#ifdef __cplusplus
extern "C" {
#endif
typedef union
{
struct
{
unsigned char bit0: 1;
unsigned char bit1: 1;
unsigned char bit2: 1;
unsigned char bit3: 1;
unsigned char bit4: 1;
unsigned char bit5: 1;
unsigned char bit6: 1;
unsigned char bit7: 1;
} bit;
struct
{
unsigned char quad_0 :4;
unsigned char quad_1 :4;
} qua;
unsigned char all;
} BAITE;
typedef union
{
struct
{
unsigned short int bit0: 1;
unsigned short int bit1: 1;
unsigned short int bit2: 1;
unsigned short int bit3: 1;
unsigned short int bit4: 1;
unsigned short int bit5: 1;
unsigned short int bit6: 1;
unsigned short int bit7: 1;
unsigned short int bit8: 1;
unsigned short int bit9: 1;
unsigned short int bitA: 1;
unsigned short int bitB: 1;
unsigned short int bitC: 1;
unsigned short int bitD: 1;
unsigned short int bitE: 1;
unsigned short int bitF: 1;
} bit;
struct
{
unsigned short int quad_0 :4;
unsigned short int quad_1 :4;
unsigned short int quad_2 :4;
unsigned short int quad_3 :4;
} qua;
struct
{
unsigned short int byte_0 :8;
unsigned short int byte_1 :8;
} byt;
unsigned short int all;
} WORDE;
typedef union
{
struct
{
unsigned int bit00: 1;
unsigned int bit01: 1;
unsigned int bit02: 1;
unsigned int bit03: 1;
unsigned int bit04: 1;
unsigned int bit05: 1;
unsigned int bit06: 1;
unsigned int bit07: 1;
unsigned int bit08: 1;
unsigned int bit09: 1;
unsigned int bit0A: 1;
unsigned int bit0B: 1;
unsigned int bit0C: 1;
unsigned int bit0D: 1;
unsigned int bit0E: 1;
unsigned int bit0F: 1;
unsigned int bit10: 1;
unsigned int bit11: 1;
unsigned int bit12: 1;
unsigned int bit13: 1;
unsigned int bit14: 1;
unsigned int bit15: 1;
unsigned int bit16: 1;
unsigned int bit17: 1;
unsigned int bit18: 1;
unsigned int bit19: 1;
unsigned int bit1A: 1;
unsigned int bit1B: 1;
unsigned int bit1C: 1;
unsigned int bit1D: 1;
unsigned int bit1E: 1;
unsigned int bit1F: 1;
} bit;
struct
{
unsigned int quad_0 :4;
unsigned int quad_1 :4;
unsigned int quad_2 :4;
unsigned int quad_3 :4;
unsigned int quad_4 :4;
unsigned int quad_5 :4;
unsigned int quad_6 :4;
unsigned int quad_7 :4;
} qua;
struct
{
unsigned int byte_0 :8;
unsigned int byte_1 :8;
unsigned int byte_2 :8;
unsigned int byte_3 :8;
} byt;
struct
{
unsigned int word_0 :16;
unsigned int word_1 :16;
} wrd;
unsigned int all;
} LONGE;
#ifdef __cplusplus
}
#endif
#endif

52
Core/Inc/usart.h Normal file
View File

@@ -0,0 +1,52 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file usart.h
* @brief This file contains all the function prototypes for
* the usart.c file
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __USART_H__
#define __USART_H__
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
extern UART_HandleTypeDef huart4;
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
void MX_UART4_Init(void);
/* USER CODE BEGIN Prototypes */
/* USER CODE END Prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __USART_H__ */

View File

@@ -21,6 +21,26 @@
#include "can.h" #include "can.h"
/* USER CODE BEGIN 0 */ /* USER CODE BEGIN 0 */
#include "message.h"
#include "gpio.h"
void CAN_filterConfig(void);
CAN_TxHeaderTypeDef TxHeader;
CAN_RxHeaderTypeDef RxHeader;
CAN_FilterTypeDef sFilterConfig;
CAN_TxHeaderTypeDef msgHeaderSend;
uint8_t msgDataSend[8];
uint32_t mailBoxNum = 0;
uint8_t TxData[8];
uint8_t RxData[8];
uint32_t TxMailbox;
uint32_t TX_box_ID = 0;
uint32_t RX_box_ID = 0;
uint32_t BC_box_ID = 0;
/* USER CODE END 0 */ /* USER CODE END 0 */
@@ -55,6 +75,20 @@ void MX_CAN_Init(void)
} }
/* USER CODE BEGIN CAN_Init 2 */ /* 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 */ /* USER CODE END CAN_Init 2 */
} }
@@ -124,5 +158,142 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
} }
/* USER CODE BEGIN 1 */ /* 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)
{
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;
msgDataSend[0] = (data[Addr ]>>8) & 0x00ff;
msgDataSend[1] = (data[Addr ] ) & 0x00ff;
msgDataSend[2] = (data[Addr+1]>>8) & 0x00ff;
msgDataSend[3] = (data[Addr+1] ) & 0x00ff;
msgDataSend[4] = (data[Addr+2]>>8) & 0x00ff;
msgDataSend[5] = (data[Addr+2] ) & 0x00ff;
msgDataSend[6] = (data[Addr+3]>>8) & 0x00ff;
msgDataSend[7] = (data[Addr+3] ) & 0x00ff;
HAL_CAN_AddTxMessage(&hcan, &msgHeaderSend, msgDataSend, &mailBoxNum);
att=0;
return 1;
}
else
{
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 */ /* USER CODE END 1 */

196
Core/Src/crc16.c Normal file
View File

@@ -0,0 +1,196 @@
#include "crc16.h"
#define MAKE_TABS 0 /* Builds tables below */
#define FAST_CRC 1 /* If fast CRC should be used */
#define ONLY_CRC16 1
#define Poln 0xA001
#if FAST_CRC & !MAKE_TABS
#if !ONLY_CRC16
static WORD crc_ccitt_tab[] = {
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
};
#endif
WORD crc_16_tab[] = {
0x0000, 0xc0c1, 0xc181, 0x0140, 0xc301, 0x03c0, 0x0280, 0xc241,
0xc601, 0x06c0, 0x0780, 0xc741, 0x0500, 0xc5c1, 0xc481, 0x0440,
0xcc01, 0x0cc0, 0x0d80, 0xcd41, 0x0f00, 0xcfc1, 0xce81, 0x0e40,
0x0a00, 0xcac1, 0xcb81, 0x0b40, 0xc901, 0x09c0, 0x0880, 0xc841,
0xd801, 0x18c0, 0x1980, 0xd941, 0x1b00, 0xdbc1, 0xda81, 0x1a40,
0x1e00, 0xdec1, 0xdf81, 0x1f40, 0xdd01, 0x1dc0, 0x1c80, 0xdc41,
0x1400, 0xd4c1, 0xd581, 0x1540, 0xd701, 0x17c0, 0x1680, 0xd641,
0xd201, 0x12c0, 0x1380, 0xd341, 0x1100, 0xd1c1, 0xd081, 0x1040,
0xf001, 0x30c0, 0x3180, 0xf141, 0x3300, 0xf3c1, 0xf281, 0x3240,
0x3600, 0xf6c1, 0xf781, 0x3740, 0xf501, 0x35c0, 0x3480, 0xf441,
0x3c00, 0xfcc1, 0xfd81, 0x3d40, 0xff01, 0x3fc0, 0x3e80, 0xfe41,
0xfa01, 0x3ac0, 0x3b80, 0xfb41, 0x3900, 0xf9c1, 0xf881, 0x3840,
0x2800, 0xe8c1, 0xe981, 0x2940, 0xeb01, 0x2bc0, 0x2a80, 0xea41,
0xee01, 0x2ec0, 0x2f80, 0xef41, 0x2d00, 0xedc1, 0xec81, 0x2c40,
0xe401, 0x24c0, 0x2580, 0xe541, 0x2700, 0xe7c1, 0xe681, 0x2640,
0x2200, 0xe2c1, 0xe381, 0x2340, 0xe101, 0x21c0, 0x2080, 0xe041,
0xa001, 0x60c0, 0x6180, 0xa141, 0x6300, 0xa3c1, 0xa281, 0x6240,
0x6600, 0xa6c1, 0xa781, 0x6740, 0xa501, 0x65c0, 0x6480, 0xa441,
0x6c00, 0xacc1, 0xad81, 0x6d40, 0xaf01, 0x6fc0, 0x6e80, 0xae41,
0xaa01, 0x6ac0, 0x6b80, 0xab41, 0x6900, 0xa9c1, 0xa881, 0x6840,
0x7800, 0xb8c1, 0xb981, 0x7940, 0xbb01, 0x7bc0, 0x7a80, 0xba41,
0xbe01, 0x7ec0, 0x7f80, 0xbf41, 0x7d00, 0xbdc1, 0xbc81, 0x7c40,
0xb401, 0x74c0, 0x7580, 0xb541, 0x7700, 0xb7c1, 0xb681, 0x7640,
0x7200, 0xb2c1, 0xb381, 0x7340, 0xb101, 0x71c0, 0x7080, 0xb041,
0x5000, 0x90c1, 0x9181, 0x5140, 0x9301, 0x53c0, 0x5280, 0x9241,
0x9601, 0x56c0, 0x5780, 0x9741, 0x5500, 0x95c1, 0x9481, 0x5440,
0x9c01, 0x5cc0, 0x5d80, 0x9d41, 0x5f00, 0x9fc1, 0x9e81, 0x5e40,
0x5a00, 0x9ac1, 0x9b81, 0x5b40, 0x9901, 0x59c0, 0x5880, 0x9841,
0x8801, 0x48c0, 0x4980, 0x8941, 0x4b00, 0x8bc1, 0x8a81, 0x4a40,
0x4e00, 0x8ec1, 0x8f81, 0x4f40, 0x8d01, 0x4dc0, 0x4c80, 0x8c41,
0x4400, 0x84c1, 0x8581, 0x4540, 0x8701, 0x47c0, 0x4680, 0x8641,
0x8201, 0x42c0, 0x4380, 0x8341, 0x4100, 0x81c1, 0x8081, 0x4040
};
#endif
#if !ONLY_CRC16
/* CRC-CCITT is based on the polynomial x^16 + x^12 + x^5 + 1. Bits */
/* are sent MSB to LSB. */
unsigned int get_crc_ccitt(unsigned int crc,unsigned int *buf,unsigned long size )
{
#if !(FAST_CRC & !MAKE_TABS)
register int i;
#endif
while (size--) {
#if FAST_CRC & !MAKE_TABS
crc = (crc << 8) ^ crc_ccitt_tab[ (crc >> 8) ^ *buf++ ];
#else
crc ^= (WORD)(*buf++) << 8;
for (i = 0; i < 8; i++) {
if (crc & 0x8000)
crc = (crc << 1) ^ 0x1021;
else
crc <<= 1;
}
#endif
} return crc;
}
#endif
/* CRC-16 is based on the polynomial x^16 + x^15 + x^2 + 1. Bits are */
/* sent LSB to MSB. */
unsigned int get_crc_16(unsigned int crc,unsigned int *buf,unsigned long size )
{
#if !(FAST_CRC & !MAKE_TABS)
register unsigned int i;
register unsigned int ch;
#endif
while (size--) {
#if FAST_CRC & !MAKE_TABS
crc = (crc >> 8) ^ crc_16_tab[ (crc ^ *buf++) & 0xff ];
crc = crc & 0xffff;
#else
ch = *buf++;
for (i = 0; i < 8; i++) {
if ((crc ^ ch) & 1)
crc = (crc >> 1) ^ 0xa001;
else
crc >>= 1;
ch >>= 1;
}
#endif
} return (crc & 0xffff);
}
unsigned int get_crc_16b(unsigned int crc,unsigned int *buf,unsigned long size )
{
unsigned int x, dword, byte;
unsigned long i;
for (i = 0; i < size; i++)
{
x = i % 2;
dword = buf[i/2];
// dword = *buf;
if (x == 0)
{
byte = ((dword >> 8)&0xFF);
}
if (x == 1)
{
byte = (dword & 0xFF);
}
crc = (crc >> 8) ^ crc_16_tab[ (crc ^ (byte) ) & 0xff ];
crc = crc & 0xffff;
// crc = crc + ((byte) & 0xff);
}
return (crc & 0xffff);
}
int get_crc16(uint16_t *buf, int size )
{
int crc16,i,j;
crc16=0xFFFF;
for(i=0;i<size;i++)
{
crc16=crc16^(buf[i]&0xFF);
for (j=0;j<8;j++)
if(crc16&1) crc16=(crc16>>1)^Poln;
else crc16=crc16>>1;
crc16=crc16^((buf[i]>>8)&0xFF);
for (j=0;j<8;j++)
if(crc16&1) crc16=(crc16>>1)^Poln;
else crc16=crc16>>1;
}
return crc16;
}

49
Core/Src/eeprom.c Normal file
View File

@@ -0,0 +1,49 @@
#include "eeprom.h"
void putIntoEeprom(uint16_t lenght, uint16_t* param)
{
uint32_t adr = FLASH_EEPROM_BASE;
//uint32_t p = FLASH_STARTO;
HAL_StatusTypeDef flash_ok = HAL_ERROR;
while(flash_ok != HAL_OK)
{flash_ok = HAL_FLASH_Unlock();}
FLASH_EraseInitTypeDef erase;
uint32_t pageError = 0x0;
erase.TypeErase = FLASH_TYPEERASE_PAGES;
erase.PageAddress = FLASH_EEPROM_BASE;
erase.NbPages = 0x01;
flash_ok = HAL_FLASHEx_Erase(&erase, &pageError);
flash_ok = HAL_ERROR;
while(flash_ok != HAL_OK)
{flash_ok = HAL_FLASH_Lock();}
flash_ok = HAL_ERROR;
while(flash_ok != HAL_OK)
{flash_ok = HAL_FLASH_Unlock();}
flash_ok = HAL_ERROR;
while(flash_ok != HAL_OK)
{
for(int i=0; i<(lenght); i++)
{
flash_ok = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, adr, *param);
param++;
adr += 0x2;
}
}
flash_ok = HAL_ERROR;
while(flash_ok != HAL_OK)
{flash_ok = HAL_FLASH_Lock();}
}
uint16_t watInTheFlash(uint32_t adress)
{
return (*(uint32_t*) adress);
}

View File

@@ -42,31 +42,27 @@ void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */ /* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOC, LED1_Pin|LED2_Pin|PVT4_Pin|PVT3_Pin HAL_GPIO_WritePin(GPIOC, LED2_Pin|LED3_Pin|PVT4_Pin|PVT3_Pin
|PVT2_Pin|PVT1_Pin, GPIO_PIN_RESET); |PVT2_Pin|PVT1_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : PCPin PCPin PCPin PC0 /*Configure GPIO pin Output Level */
PC1 PCPin PCPin */ HAL_GPIO_WritePin(GPIOB, LED0_Pin|LED1_Pin, GPIO_PIN_SET);
GPIO_InitStruct.Pin = IN_06_Pin|SELEKT_PCH_Pin|IN_05_Pin|GPIO_PIN_0
|GPIO_PIN_1|J1_Pin|J2_Pin; /*Configure GPIO pins : PCPin PCPin PCPin PCPin
PCPin */
GPIO_InitStruct.Pin = IN_06_Pin|SELEKT_PCH_Pin|IN_05_Pin|J2_Pin
|J3_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/*Configure GPIO pins : PD0 PD1 */
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/*Configure GPIO pins : PCPin PCPin PCPin PCPin /*Configure GPIO pins : PCPin PCPin PCPin PCPin
PCPin PCPin */ PCPin PCPin */
GPIO_InitStruct.Pin = LED1_Pin|LED2_Pin|PVT4_Pin|PVT3_Pin GPIO_InitStruct.Pin = LED2_Pin|LED3_Pin|PVT4_Pin|PVT3_Pin
|PVT2_Pin|PVT1_Pin; |PVT2_Pin|PVT1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
@@ -74,19 +70,17 @@ void MX_GPIO_Init(void)
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/*Configure GPIO pins : PAPin PAPin PAPin PAPin /*Configure GPIO pins : PAPin PAPin PAPin PAPin
PAPin PAPin PA6 PAPin */ PAPin PAPin PAPin PAPin */
GPIO_InitStruct.Pin = IN_04_Pin|IN_03_Pin|IN_02_Pin|IN_01_Pin GPIO_InitStruct.Pin = IN_04_Pin|IN_03_Pin|IN_02_Pin|IN_01_Pin
|IN_14_Pin|IN_13_Pin|GPIO_PIN_6|J0_Pin; |IN_14_Pin|IN_13_Pin|J0_Pin|J1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : PBPin PBPin PBPin PBPin /*Configure GPIO pins : PBPin PBPin PBPin PBPin
PB11 PBPin PBPin PBPin PBPin PBPin PBPin */
PBPin */ GPIO_InitStruct.Pin = IN_12_Pin|IN_11_Pin|BOOT1_Pin|IN_10_Pin
GPIO_InitStruct.Pin = J3_Pin|IN_12_Pin|BOOT1_Pin|IN_11_Pin |IN_09_Pin|IN_08_Pin|IN_07_Pin;
|GPIO_PIN_11|IN_10_Pin|IN_09_Pin|IN_08_Pin
|IN_07_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
@@ -97,8 +91,12 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure peripheral I/O remapping */ /*Configure GPIO pins : PBPin PBPin */
__HAL_AFIO_REMAP_PD01_ENABLE(); GPIO_InitStruct.Pin = LED0_Pin|LED1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
} }

View File

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

107
Core/Src/lampa.c Normal file
View File

@@ -0,0 +1,107 @@
#include "main.h"
#include "gpio.h"
#include "lampa.h"
#include "struc.h"
#include "message.h"
#include "package.h"
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 (питание эл. замков, ламп освещения, УКСИ)
input.bit.bit3 = !IN_03; // Контроль ИП4 (питание датчиков тока и напряжения +)
input.bit.bit4 = !IN_02; // Контроль ИП5 (питание датчиков тока и напряжения )
input.bit.bit5 = !IN_01; // Контроль ИП6 (питание драйверов)
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.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; // Контроль питания СВО
input.bit.bitC = !IN_13; // резерв
input.bit.bitD = !IN_14; // Контроль питания СКК
*/
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 В всегда неисправность
Alarms = alarm;
// Обычно авария это отсутствие сигнала, который есть в маске аварий
error.all = ~Inputs.all & Error_mask.all;
error.bit.bit7 = 0; // Заряд накопителя никогда не авария
error.bit.bit8 = Inputs.bit.bit8 & Error_mask.bit.bit8;
// Разряд накопителя
error.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В всегда авария
Errors = error;
}
uint16_t ReadJumpers(void)
{
WORDE input;
input.all = 0;
input.bit.bit0 = !J0;
input.bit.bit1 = !J1;
input.bit.bit2 = !J2;
input.bit.bit3 = !J3;
return input.all;
}
uint16_t TestJumper(void)
{
return !Jselect;
}
void ReadSeanus(void)
{
static uint32_t cownt=0;
static uint32_t sum_u[4];
static float flt_u[4];
static uint8_t Ist=1;
uint8_t i;
if(Ist)
{
Ist=0;
for(i=0;i<4;i++)
{
Squazh_U[i]=100;
flt_u[i]=10000.0;
sum_u[i]=0;
} }
sum_u[0] += !IN_11;
sum_u[1] += !IN_12;
sum_u[2] += !IN_13;
sum_u[3] += !IN_14;
if(++cownt>=10000)
{
cownt=0;
for(i=0;i<4;i++)
{
flt_u[i] +=((float)sum_u[i]-flt_u[i])/3+1;
Squazh_U[i]=flt_u[i]/100;
sum_u[i] = 0;
} } }

View File

@@ -21,11 +21,14 @@
#include "can.h" #include "can.h"
#include "iwdg.h" #include "iwdg.h"
#include "tim.h" #include "tim.h"
#include "usart.h"
#include "gpio.h" #include "gpio.h"
/* Private includes ----------------------------------------------------------*/ /* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
#include "package.h"
#include "message.h"
#include "lampa.h"
/* USER CODE END Includes */ /* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
@@ -47,6 +50,16 @@
/* USER CODE BEGIN PV */ /* USER CODE BEGIN PV */
FLAG flag;
static long Falling_asleep;
uint8_t CanGO=0, timGo=0;
/* USER CODE END PV */ /* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
@@ -68,7 +81,10 @@ int main(void)
{ {
/* USER CODE BEGIN 1 */ /* USER CODE BEGIN 1 */
static int i,j,n,z,mask,qua;
static int cancount[2]={1,2},cancell[2]={0,0},candid[2]={0,0};
static unsigned int masca[8];
static uint16_t precom=0;
/* USER CODE END 1 */ /* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/ /* MCU Configuration--------------------------------------------------------*/
@@ -84,22 +100,270 @@ int main(void)
SystemClock_Config(); SystemClock_Config();
/* USER CODE BEGIN SysInit */ /* USER CODE BEGIN SysInit */
MX_IWDG_Init();
/* USER CODE END SysInit */ /* USER CODE END SysInit */
/* Initialize all configured peripherals */ /* Initialize all configured peripherals */
MX_GPIO_Init(); MX_GPIO_Init();
MX_CAN_Init(); MX_CAN_Init();
MX_TIM4_Init(); MX_TIM4_Init();
MX_IWDG_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
LED_0_ON;
LED_1_OFF;
LED_2_ON;
LED_3_OFF;
for(i=0;i<10;i++)
{
LED_0_TGL;
LED_1_TGL;
LED_2_TGL;
LED_3_TGL;
HAL_Delay(50);
}
Mode = ReadJumpers()+1;
Setup_CAN_addr(Mode-1);
Load_params();
LastMode = Mode;
Protokol = PROTOKOL;
for(i=0;i<0x80;i++)
county[i]=1;
for(i=0;i<8;i++)
masca[i]=0;
for(i=0;i<2;i++)
CanRound[i]=
CanCycle[i]=0;
timGo=1;
/* USER CODE END 2 */ /* USER CODE END 2 */
/* Infinite loop */ /* Infinite loop */
/* USER CODE BEGIN WHILE */ /* USER CODE BEGIN WHILE */
while (1) while (1)
{ {
//=== БЛОК ПРИНУДИТЕЛЬНОЙ ПАУЗЫ ===//
if (flag.force_pause)
{
__disable_irq(); // Отключаем все прерывания
for(int i = 0; i < flag.pause; i++); // Пустой цикл для задержки
__enable_irq(); // Включаем прерывания обратно
}
//=== ОБРАБОТКА CAN-ШИНЫ ===//
if (CanGO) // Флаг разрешения работы с CAN-шиной
{
CanGO = 0; // Сбрасываем флаг
// Увеличиваем счетчики ожидания для всех элементов (ограничение 30000)
for(i = 0; i < 0x80; i++)
if(espero[i] < 30000)
espero[i]++;
// Уменьшаем счетчики задержки для двух CAN-каналов
for(i = 0; i < 2; i++)
if(cancount[i])
cancount[i]--;
else
cancell[i] = 0; // Сброс позиции, если счетчик обнулился
}
//=== ОБРАБОТКА КАНАЛОВ CAN ===//
for(i = 0; i < 2; i++) // Для каждого из двух CAN-каналов
{
if (Cancount[i] && !cancount[i]) // Если есть задержка и счетчик обнулился
{
// Поиск следующего элемента для обработки
while(1)
{
if (cancell[i] >= 0x80) // Если достигли конца диапазона
{
cancell[i] = 0; // Сброс позиции
if (candid[i]) // Если есть кандидат для обработки
{
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; // Переход к следующей группе
else
{
// Поиск первого установленного бита в маске
while (!(mask & 1))
{
cancell[i]++;
mask >>= 1;
}
break; // Найден активный элемент
}
}
z = 1; // Флаг нормального состояния
// Проверка превышения времени ожидания
if (espero[cancell[i]] > CanRestart[i])
{
county[cancell[i]] = 1; // Установка флага необходимости отправки
z = 0; // Флаг аварийного состояния
}
// Проверка изменения данных для отправки
if (modbus[cancell[i]] != archiv[cancell[i]])
{
if (cancell[i] == keys) // Если это ключевой элемент
{
// Установка флагов для группы элементов
for(j = 0; j < CanRptLen; j++)
county[cancell[i] + j] = CanRptVez;
}
else
{
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; // Корректировка позиции
// Обработка каждого элемента в группе
for(j = 0; j < qua; j++)
{
n = cancell[i] + j;
archiv[n] = modbus[n]; // Сохранение текущего значения
espero[n] = 0; // Сброс счетчика ожидания
if (county[n]) // Если элемент требует обработки
{
county[n]--; // Уменьшение счетчика
// Если счетчик обнулился и это не циклический элемент
if (!county[n] && n != cancyclo + i)
candid[i] = 1; // Установка флага кандидата
}
// Обновление маски активных элементов
if (!county[n])
masca[n / 0x10] |= (1 << (n & 0x0F));
}
// Отправка данных через CAN-шину
CAN_send(archiv, 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) // Если все элементы обработаны
{
// Сброс соответствующих битов маски
for(j = 0; j < 8; j++)
masca[j] &= ~Maska[i][j];
CanRound[i]++; // Увеличение счетчика раундов
}
// Управление параллельной обработкой каналов
if (Cancount[i] > 1 && !cancount[!i])
cancount[!i] = 1; // Запуск другого канала
}
else
{
cancell[i]++; // Переход к следующему элементу
}
}
}
Next: // Метка для перехода к следующей части цикла
//=== ЧТЕНИЕ ВХОДНЫХ СИГНАЛОВ ===//
ReadEnteres(); // Функция чтения дискретных входов
//=== УПРАВЛЕНИЕ ВЫХОДНЫМИ СИГНАЛАМИ ===//
if(!cTestOut)
{
if (Errors.all | Alarms.all)
Pvt4_OFF; // Выключение сигнала "Система ВЭП в норме"
else
Pvt4_ON; // Включение сигнала "Система ВЭП в норме"
if (Errors.all)
Pvt3_ON; // Включение сигнала "Авария системы ВЭП"
else
Pvt3_OFF; // Выключение сигнала "Авария системы ВЭП"
if (Falling_asleep)
Pvt2_ON; // Включение сигнала управления
else
Pvt2_OFF; // Выключение сигнала управления
}
//=== ОБРАБОТКА КОМАНД ===//
if (Commands != precom) // Если команды изменились
{
komanda = Commands & (~precom|komanda); // Обновление активных команд
}
precom = Commands; // Сохранение текущих команд для следующей итерации
//=== ОБРАБОТКА СИСТЕМНЫХ КОМАНД ===//
if (cDefParam) // Команда сброса параметров по умолчанию
{
cDefParam = 0;
Default_params(); // Вызов функции сброса параметров
Commands=precom;
}
if (cSaveParam) // Команда сохранения параметров
{
cSaveParam = 0;
Save_params(); // Вызов функции сохранения параметров
}
if (cLoadParam) // Команда загрузки параметров
{
cLoadParam = 0;
Load_params(); // Вызов функции загрузки параметров
Commands=precom;
}
if (cCanReset) // Команда сброса CAN-системы
{
cCanReset = 0;
// Сброс всех счетчиков и состояний CAN-системы
for(i = 0; i < 0x80; i++)
county[i] = 1; // Установка флагов отправки для всех элементов
for(i = 0; i < 2; i++)
{
CanCycle[i] = 0; // Сброс счетчиков циклов
CanRound[i] = 0; // Сброс счетчиков раундов
cancount[i] = 0; // Сброс счетчиков задержки
cancell[i] = 0; // Сброс позиций
}
for(i = 0; i < 8; i++)
masca[i] = 0; // Сброс масок
}
/* USER CODE END WHILE */ /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ /* USER CODE BEGIN 3 */
@@ -144,10 +408,201 @@ void SystemClock_Config(void)
{ {
Error_Handler(); Error_Handler();
} }
HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1); HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_1);
} }
/* USER CODE BEGIN 4 */ /* 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;
//=== ПРОВЕРКА ДИАПАЗОНА ===//
// Если номер элемента вне допустимого диапазона (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; // Выключение сигнала управления
}
}
/////////////////////////////////////////////
/* USER CODE END 4 */ /* USER CODE END 4 */
@@ -163,12 +618,15 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{ {
/* USER CODE BEGIN Callback 0 */ /* USER CODE BEGIN Callback 0 */
if(htim->Instance == TIM4) //check if the interrupt comes from TIM4
ReadSeanus();
/* USER CODE END Callback 0 */ /* USER CODE END Callback 0 */
if (htim->Instance == TIM8) { if (htim->Instance == TIM8) {
HAL_IncTick(); HAL_IncTick();
Millisecond();
} }
/* USER CODE BEGIN Callback 1 */ /* USER CODE BEGIN Callback 1 */
/* USER CODE END Callback 1 */ /* USER CODE END Callback 1 */
} }

131
Core/Src/message.c Normal file
View File

@@ -0,0 +1,131 @@
#include "stm32f1xx_hal.h"
#include "struc.h"
#include "crc16.h"
#include "package.h"
#include "message.h"
#include "eeprom.h"
uint16_t params[Modbus_LEN+1],
modbus[Modbus_LEN],
archiv[Modbus_LEN],
county[Modbus_LEN],
espero[Modbus_LEN];
uint16_t Mode;
LONGE* outputs;
void Init_packMask(void);
uint16_t Maska[2][8];
void Default_params()
{
unsigned int i;
for(i=0;i<Modbus_LEN;i++)
{
modbus[i] = 0;
}
Alarm_mask.all = 0x3FFF;
Alarm_mask.bit.bit7 = 0; // Заряд накопителя
Alarm_mask.bit.bitC = 0; // резерв
Error_mask.all = 0;
Error_mask.bit.bit9 = 1; // Авария в сети 24 В
for(i=0;i<4;i++)
Squazh_L[i] = 90;
LastMode = Mode;
Sleep_time = 60; // минута чтобы отключиться
Cancount[m_FAST] = 5; // * 10msec, пауза между посылками CAN
Cancount[m_SLOW] = 100; // * 10msec, пауза между посылками CAN
CanWait[m_FAST] = 1; // * 10msec, пауза после цикла
CanWait[m_SLOW] = 1; // * 10msec, пауза после цикла
CanRestart[m_FAST] = 500; // * 10msec, перезапуск посылки
CanRestart[m_SLOW] = 1000; // * 10msec, перезапуск посылки
CanRptVez = 3; // кол-во повторений посылки «keys»
CanRptLen = 3; // длина повтораемой посылки «keys»
Brightness = 10;
Protokol = PROTOKOL;
}
void Load_params()
{
unsigned int i,crc;
unsigned int adr = FLASH_EEPROM_BASE;
for(int j=0; j<Modbus_LEN+1; j+=1)
{
params[j] = watInTheFlash(adr) & 0xFFFF;
adr += 0x2;
}
crc = get_crc16(params,Modbus_LEN);
if( (crc==params[Modbus_LEN]) &&
(crc !=0xFFFF) &&
(Mode == params[126]))
{
for(i=0;i<Modbus_LEN;i++) modbus[i] = params[i];
Commands=0;
}
else
{
Default_params();
Save_params();
}
Init_packMask();
}
void Save_params()
{
unsigned int i,dif=0;
for(i=0;i<Modbus_LEN;i++)
if(params[i] != modbus[i])
{
params[i] = modbus[i];
dif=1;
}
if(dif)
{
params[Modbus_LEN] = get_crc16(params,Modbus_LEN);
putIntoEeprom(Modbus_LEN+1, params);
} }
void Init_packMask()
{
int i;
for(i=0;i<8;i++)
{
Maska[m_FAST][i] = 0;
Maska[m_SLOW][i] = 0;
}
Maska[m_FAST][0]|= 0x0007; // Дискретные входы, неисправности и аварии
Maska[m_SLOW][0]|= 0x0300; // Маски на неисправности и аварии
Maska[m_SLOW][1]|= 0x0003; // Состояние джамперов
Maska[m_SLOW][1]|= 0x0F00; // Скважность датчика напряжения
Maska[m_SLOW][3]|= 0x000F; // Аварийная уставка скважности
Maska[m_SLOW][4]|= 0x0100; // Время автоматического отключения
Maska[m_SLOW][6]|= 0x05FF; // Яркость лампы и периоды посылок
Maska[m_FAST][7]|= 0x0100; // Счетчик посылок
Maska[m_SLOW][7]|= 0x0E00; // Счетчик посылок
Maska[m_SLOW][7]|= 0x6000; // Протокол, адрес
Maska[m_FAST][7]|= 0x9000; // Команды
}

View File

@@ -57,6 +57,7 @@
/* External variables --------------------------------------------------------*/ /* External variables --------------------------------------------------------*/
extern CAN_HandleTypeDef hcan; extern CAN_HandleTypeDef hcan;
extern TIM_HandleTypeDef htim4; extern TIM_HandleTypeDef htim4;
extern UART_HandleTypeDef huart4;
extern TIM_HandleTypeDef htim8; extern TIM_HandleTypeDef htim8;
/* USER CODE BEGIN EV */ /* USER CODE BEGIN EV */
@@ -257,6 +258,20 @@ void TIM8_UP_IRQHandler(void)
/* USER CODE END TIM8_UP_IRQn 1 */ /* USER CODE END TIM8_UP_IRQn 1 */
} }
/**
* @brief This function handles UART4 global interrupt.
*/
void UART4_IRQHandler(void)
{
/* USER CODE BEGIN UART4_IRQn 0 */
/* USER CODE END UART4_IRQn 0 */
HAL_UART_IRQHandler(&huart4);
/* USER CODE BEGIN UART4_IRQn 1 */
/* USER CODE END UART4_IRQn 1 */
}
/* USER CODE BEGIN 1 */ /* USER CODE BEGIN 1 */
/* USER CODE END 1 */ /* USER CODE END 1 */

View File

@@ -42,7 +42,8 @@
* *
****************************************************************************** ******************************************************************************
*/ */
#ifndef SYSTEM_STM32F1XX_C
#define SYSTEM_STM32F1XX_C
/** @addtogroup CMSIS /** @addtogroup CMSIS
* @{ * @{
*/ */
@@ -404,3 +405,5 @@ void SystemInit_ExtMemCtl(void)
/** /**
* @} * @}
*/ */
#endif /* SYSTEM_STM32F1XX_C */

View File

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

121
Core/Src/usart.c Normal file
View File

@@ -0,0 +1,121 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file usart.c
* @brief This file provides code for the configuration
* of the USART instances.
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "usart.h"
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
UART_HandleTypeDef huart4;
/* UART4 init function */
void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(uartHandle->Instance==UART4)
{
/* USER CODE BEGIN UART4_MspInit 0 */
/* USER CODE END UART4_MspInit 0 */
/* UART4 clock enable */
__HAL_RCC_UART4_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/**UART4 GPIO Configuration
PC10 ------> UART4_TX
PC11 ------> UART4_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* UART4 interrupt Init */
HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(UART4_IRQn);
/* USER CODE BEGIN UART4_MspInit 1 */
/* USER CODE END UART4_MspInit 1 */
}
}
void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
{
if(uartHandle->Instance==UART4)
{
/* USER CODE BEGIN UART4_MspDeInit 0 */
/* USER CODE END UART4_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_UART4_CLK_DISABLE();
/**UART4 GPIO Configuration
PC10 ------> UART4_TX
PC11 ------> UART4_RX
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
/* UART4 interrupt Deinit */
HAL_NVIC_DisableIRQ(UART4_IRQn);
/* USER CODE BEGIN UART4_MspDeInit 1 */
/* USER CODE END UART4_MspDeInit 1 */
}
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,529 +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>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/>
<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>0</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>0</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/main.c</PathWithFileName>
<FilenameWithoutPath>main.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/gpio.c</PathWithFileName>
<FilenameWithoutPath>gpio.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/can.c</PathWithFileName>
<FilenameWithoutPath>can.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/iwdg.c</PathWithFileName>
<FilenameWithoutPath>iwdg.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/tim.c</PathWithFileName>
<FilenameWithoutPath>tim.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/stm32f1xx_it.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_it.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/stm32f1xx_hal_msp.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_msp.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/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>10</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>11</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>12</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>13</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>14</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>15</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>16</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>17</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>18</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>19</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>20</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>21</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>22</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>23</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>24</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>
</Group>
<Group>
<GroupName>Drivers/CMSIS</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>25</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

@@ -11,12 +11,13 @@
<ToolsetNumber>0x4</ToolsetNumber> <ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<pArmCC>6190000::V6.19::ARMCLANG</pArmCC> <pArmCC>6190000::V6.19::ARMCLANG</pArmCC>
<pCCUsed>6190000::V6.19::ARMCLANG</pCCUsed>
<uAC6>1</uAC6> <uAC6>1</uAC6>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>STM32F103RC</Device> <Device>STM32F103RC</Device>
<Vendor>STMicroelectronics</Vendor> <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> <PackURL>http://www.keil.com/pack/</PackURL>
<Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ</Cpu> <Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ</Cpu>
<FlashUtilSpec></FlashUtilSpec> <FlashUtilSpec></FlashUtilSpec>
@@ -81,7 +82,7 @@
</BeforeMake> </BeforeMake>
<AfterMake> <AfterMake>
<RunUserProg1>0</RunUserProg1> <RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2> <RunUserProg2>1</RunUserProg2>
<UserProg1Name></UserProg1Name> <UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name> <UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode> <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
@@ -137,7 +138,7 @@
<DriverSelection>4101</DriverSelection> <DriverSelection>4101</DriverSelection>
</Flash1> </Flash1>
<bUseTDR>1</bUseTDR> <bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2V8M.DLL</Flash2> <Flash2>BIN\UL2CM3.DLL</Flash2>
<Flash3></Flash3> <Flash3></Flash3>
<Flash4></Flash4> <Flash4></Flash4>
<pFcarmOut></pFcarmOut> <pFcarmOut></pFcarmOut>
@@ -394,6 +395,26 @@
<Group> <Group>
<GroupName>Application/User/Core</GroupName> <GroupName>Application/User/Core</GroupName>
<Files> <Files>
<File>
<FileName>crc16.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\crc16.c</FilePath>
</File>
<File>
<FileName>eeprom.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\eeprom.c</FilePath>
</File>
<File>
<FileName>lampa.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\lampa.c</FilePath>
</File>
<File>
<FileName>message.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\message.c</FilePath>
</File>
<File> <File>
<FileName>main.c</FileName> <FileName>main.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@@ -419,6 +440,62 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>../Core/Src/tim.c</FilePath> <FilePath>../Core/Src/tim.c</FilePath>
</File> </File>
<File>
<FileName>usart.c</FileName>
<FileType>1</FileType>
<FilePath>../Core/Src/usart.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<uC99>2</uC99>
<uGnu>2</uGnu>
<useXO>2</useXO>
<v6Lang>0</v6Lang>
<v6LangP>0</v6LangP>
<vShortEn>2</vShortEn>
<vShortWch>2</vShortWch>
<v6Lto>2</v6Lto>
<v6WtE>2</v6WtE>
<v6Rtti>2</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
</FileArmAds>
</FileOption>
</File>
<File> <File>
<FileName>stm32f1xx_it.c</FileName> <FileName>stm32f1xx_it.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@@ -514,6 +591,62 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c</FilePath> <FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c</FilePath>
</File> </File>
<File>
<FileName>stm32f1xx_hal_uart.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<uC99>2</uC99>
<uGnu>2</uGnu>
<useXO>2</useXO>
<v6Lang>0</v6Lang>
<v6LangP>0</v6LangP>
<vShortEn>2</vShortEn>
<vShortWch>2</vShortWch>
<v6Lto>2</v6Lto>
<v6WtE>2</v6WtE>
<v6Rtti>2</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
</FileArmAds>
</FileOption>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@@ -546,4 +679,13 @@
<files/> <files/>
</RTE> </RTE>
<LayerInfo>
<Layers>
<Layer>
<LayName>uksvep_2_2_v1</LayName>
<LayPrjMark>1</LayPrjMark>
</Layer>
</Layers>
</LayerInfo>
</Project> </Project>

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\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.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_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -28,4 +28,6 @@ uksvep_2_2_v1/can.o: ..\Core\Src\can.c ..\Core\Inc\can.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h \
..\Core\Inc\message.h ..\Core\Inc\struc.h ..\Core\Inc\gpio.h

Binary file not shown.

View File

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

Binary file not shown.

View File

@@ -0,0 +1,32 @@
uksvep_2_2_v1/eeprom.o: ..\Core\Src\eeprom.c ..\Core\Inc\eeprom.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
..\Core\Inc\stm32f1xx_hal_conf.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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 \
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 \
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 \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.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\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.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_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -28,4 +28,5 @@ uksvep_2_2_v1/gpio.o: ..\Core\Src\gpio.c ..\Core\Inc\gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.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\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.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_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -28,4 +28,5 @@ uksvep_2_2_v1/iwdg.o: ..\Core\Src\iwdg.c ..\Core\Inc\iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h

Binary file not shown.

View File

@@ -0,0 +1,35 @@
uksvep_2_2_v1/lampa.o: ..\Core\Src\lampa.c ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
..\Core\Inc\stm32f1xx_hal_conf.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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 \
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 \
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 \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.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 \
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\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.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_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -29,5 +29,8 @@ uksvep_2_2_v1/main.o: ..\Core\Src\main.c ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h \
..\Core\Inc\can.h ..\Core\Inc\iwdg.h ..\Core\Inc\tim.h \ ..\Core\Inc\can.h ..\Core\Inc\iwdg.h ..\Core\Inc\tim.h \
..\Core\Inc\gpio.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 \
D:\Keil\ARM\ARMCLANG\Bin\..\include\stdbool.h

Binary file not shown.

View File

@@ -0,0 +1,34 @@
uksvep_2_2_v1/message.o: ..\Core\Src\message.c \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
..\Core\Inc\stm32f1xx_hal_conf.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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 \
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 \
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 \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h \
..\Core\Inc\struc.h ..\Core\Inc\crc16.h ..\Core\Inc\package.h \
..\Core\Inc\message.h ..\Core\Inc\eeprom.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\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.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_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -29,4 +29,5 @@ uksvep_2_2_v1/stm32f1xx_hal.o: \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.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\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
..\Drivers\CMSIS\Include\core_cm3.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_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ D:\Keil\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \ ..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.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_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
@@ -29,4 +29,5 @@ uksvep_2_2_v1/stm32f1xx_hal_can.o: \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \ ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h

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