3 Commits

Author SHA1 Message Date
17693c613d 3 hours for auto switch mode... 2023-02-05 23:45:20 +03:00
e33492f758 Auto mode switch implemented 2023-02-05 04:11:21 +03:00
efc6bbac57 Migrated to CubeMX 6.7.0 2023-02-05 03:00:13 +03:00
9 changed files with 127 additions and 20 deletions

View File

@@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="850088046207466902" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1286525123081337909" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
@@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="850088046207466902" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1286525123081337909" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

View File

@@ -1,5 +1,5 @@
2F62501ED4689FB349E356AB974DBE57=21199337FF9A43F284E3F1D2D8FD54CB 2F62501ED4689FB349E356AB974DBE57=AFD13C4B06905FBE2819ADF440D25B54
66BE74F758C12D739921AEA421D593D3=1 66BE74F758C12D739921AEA421D593D3=1
8DF89ED150041C4CBC7CB9A9CAA90856=21199337FF9A43F284E3F1D2D8FD54CB 8DF89ED150041C4CBC7CB9A9CAA90856=AFD13C4B06905FBE2819ADF440D25B54
DC22A860405A8BF2F2C095E5B6529F12=E2C87B0188BCB640F2723FFDDA019FEC DC22A860405A8BF2F2C095E5B6529F12=988A9CFA64D5B95AA1BEA90B0F7EEDFE
eclipse.preferences.version=1 eclipse.preferences.version=1

View File

@@ -71,6 +71,7 @@ void Error_Handler(void);
#define Sens_SCL_GPIO_Port GPIOB #define Sens_SCL_GPIO_Port GPIOB
#define Sens_SDA_Pin GPIO_PIN_7 #define Sens_SDA_Pin GPIO_PIN_7
#define Sens_SDA_GPIO_Port GPIOB #define Sens_SDA_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */ /* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */ /* USER CODE END Private defines */

View File

@@ -53,6 +53,7 @@ void PendSV_Handler(void);
void SysTick_Handler(void); void SysTick_Handler(void);
void EXTI0_1_IRQHandler(void); void EXTI0_1_IRQHandler(void);
void EXTI4_15_IRQHandler(void); void EXTI4_15_IRQHandler(void);
void TIM14_IRQHandler(void);
void TIM16_IRQHandler(void); void TIM16_IRQHandler(void);
void TIM17_IRQHandler(void); void TIM17_IRQHandler(void);
/* USER CODE BEGIN EFP */ /* USER CODE BEGIN EFP */

View File

@@ -65,6 +65,8 @@ typedef enum DLMode_t_enum {
#define CONF_FLASH_ADDR ((uint32_t)0x0800F800) //FLASH address of the page to save configuration to #define CONF_FLASH_ADDR ((uint32_t)0x0800F800) //FLASH address of the page to save configuration to
#define CONF_FLASH_PAGE 31 //FLASH page number (from 0 to PgCount-1) #define CONF_FLASH_PAGE 31 //FLASH page number (from 0 to PgCount-1)
#define AUTO_SWITCH_TIME 10800 //Time in seconds to auto switch to normal mode from manual_off mode 10800 = 3 hours
/* USER CODE END PD */ /* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/
@@ -78,6 +80,7 @@ CRC_HandleTypeDef hcrc;
I2C_HandleTypeDef hi2c1; I2C_HandleTypeDef hi2c1;
TIM_HandleTypeDef htim3; TIM_HandleTypeDef htim3;
TIM_HandleTypeDef htim14;
TIM_HandleTypeDef htim16; TIM_HandleTypeDef htim16;
TIM_HandleTypeDef htim17; TIM_HandleTypeDef htim17;
@@ -101,6 +104,7 @@ int8_t dLevel = 1; // Direction of fade: -1 for fade out; 1 for fade in
DLMode_t DLmode = DL_normal; // Global mode: DL_normal, DL_manual_on, DL_manual_off, DL_need_config, DL_config_waiting, DL_config_accepted, DL_error DLMode_t DLmode = DL_normal; // Global mode: DL_normal, DL_manual_on, DL_manual_off, DL_need_config, DL_config_waiting, DL_config_accepted, DL_error
DLMode_t prev_mode = DL_normal; // To hold the mode during temporary mode switches DLMode_t prev_mode = DL_normal; // To hold the mode during temporary mode switches
uint8_t modeSwitch = 0; // Flag to switch the mode after the button tap uint8_t modeSwitch = 0; // Flag to switch the mode after the button tap
uint16_t autoSwitchTime = 0; // Time counter until mode auto switch
/* USER CODE END PV */ /* USER CODE END PV */
@@ -112,6 +116,7 @@ static void MX_TIM3_Init(void);
static void MX_TIM17_Init(void); static void MX_TIM17_Init(void);
static void MX_CRC_Init(void); static void MX_CRC_Init(void);
static void MX_TIM16_Init(void); static void MX_TIM16_Init(void);
static void MX_TIM14_Init(void);
/* USER CODE BEGIN PFP */ /* USER CODE BEGIN PFP */
volatile void loadConfig(void); // Load configuration from the FLASH memory volatile void loadConfig(void); // Load configuration from the FLASH memory
@@ -281,9 +286,11 @@ int main(void)
MX_TIM17_Init(); MX_TIM17_Init();
MX_CRC_Init(); MX_CRC_Init();
MX_TIM16_Init(); MX_TIM16_Init();
MX_TIM14_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
// TIM3 - PWM timer // TIM3 - PWM timer
// TIM14 - to measure time for mode auto switch (1Hz)
// TIM16 - ticks timer (10Hz - 100ms) // TIM16 - ticks timer (10Hz - 100ms)
// TIM17 - timer for light fading // TIM17 - timer for light fading
@@ -331,13 +338,15 @@ int main(void)
DLmode = DL_manual_on; DLmode = DL_manual_on;
fastBlink(1); fastBlink(1);
dLevel = 2; dLevel = 2;
HAL_TIM_Base_Start_IT(&htim17); HAL_TIM_Base_Start_IT(&htim17); // Rise up the light
break; break;
case DL_manual_on: case DL_manual_on:
DLmode = DL_manual_off; DLmode = DL_manual_off;
fastBlink(1); fastBlink(1);
dLevel = -1; dLevel = -1;
HAL_TIM_Base_Start_IT(&htim17); HAL_TIM_Base_Start_IT(&htim17); // Fade out the light
autoSwitchTime = AUTO_SWITCH_TIME;
HAL_TIM_Base_Start_IT(&htim14); // Start counting OFF time
break; break;
case DL_manual_off: case DL_manual_off:
DLmode = DL_normal; DLmode = DL_normal;
@@ -540,6 +549,37 @@ static void MX_TIM3_Init(void)
} }
/**
* @brief TIM14 Initialization Function
* @param None
* @retval None
*/
static void MX_TIM14_Init(void)
{
/* USER CODE BEGIN TIM14_Init 0 */
/* USER CODE END TIM14_Init 0 */
/* USER CODE BEGIN TIM14_Init 1 */
/* USER CODE END TIM14_Init 1 */
htim14.Instance = TIM14;
htim14.Init.Prescaler = 6400-1;
htim14.Init.CounterMode = TIM_COUNTERMODE_UP;
htim14.Init.Period = 10000-1;
htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim14.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_Base_Init(&htim14) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM14_Init 2 */
/* USER CODE END TIM14_Init 2 */
}
/** /**
* @brief TIM16 Initialization Function * @brief TIM16 Initialization Function
* @param None * @param None
@@ -659,6 +699,7 @@ volatile void setLightLevel(uint8_t level) {
} }
void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin) { void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin) {
// Button has been pressed
// Start counting "ticks" when the sense-button is pressed // Start counting "ticks" when the sense-button is pressed
if (GPIO_Pin == Btn_INT_Pin) { if (GPIO_Pin == Btn_INT_Pin) {
btn_ticks = 0; btn_ticks = 0;
@@ -704,7 +745,7 @@ void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin) {
} }
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
if(htim->Instance == TIM16) { //check if the interrupt comes from TIM16 // TIM16 - ticks timer (10Hz - 100ms) if (htim->Instance == TIM16) { //check if the interrupt comes from TIM16 // TIM16 - ticks timer (10Hz - 100ms)
if (btn_ticks < 60) { if (btn_ticks < 60) {
btn_ticks++; btn_ticks++;
} else { } else {
@@ -716,7 +757,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
} }
// Fade-in / fade-out animation // Fade-in / fade-out animation
if(htim->Instance == TIM17) { //check if the interrupt comes from TIM17 // TIM17 - timer for light fading if (htim->Instance == TIM17) { //check if the interrupt comes from TIM17 // TIM17 - timer for light fading
if ((curLightLevel >= 99 && dLevel > 0) || (curLightLevel == 0 && dLevel < 0)) { if ((curLightLevel >= 99 && dLevel > 0) || (curLightLevel == 0 && dLevel < 0)) {
HAL_TIM_Base_Stop_IT(&htim17); HAL_TIM_Base_Stop_IT(&htim17);
} else { } else {
@@ -724,6 +765,16 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
setLightLevel(curLightLevel); setLightLevel(curLightLevel);
} }
} }
// Mode auto-switch time counter
if (htim->Instance == TIM14) { //check if the interrupt comes from TIM14 // TIM14 - to measure time for mode auto switch (1Hz)
if (autoSwitchTime > 0) {
autoSwitchTime--;
} else {
modeSwitch = 1;
HAL_TIM_Base_Stop_IT(&htim14);
}
}
} }
/* USER CODE END 4 */ /* USER CODE END 4 */

View File

@@ -218,6 +218,20 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
/* USER CODE END TIM3_MspInit 1 */ /* USER CODE END TIM3_MspInit 1 */
} }
else if(htim_base->Instance==TIM14)
{
/* USER CODE BEGIN TIM14_MspInit 0 */
/* USER CODE END TIM14_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM14_CLK_ENABLE();
/* TIM14 interrupt Init */
HAL_NVIC_SetPriority(TIM14_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM14_IRQn);
/* USER CODE BEGIN TIM14_MspInit 1 */
/* USER CODE END TIM14_MspInit 1 */
}
else if(htim_base->Instance==TIM16) else if(htim_base->Instance==TIM16)
{ {
/* USER CODE BEGIN TIM16_MspInit 0 */ /* USER CODE BEGIN TIM16_MspInit 0 */
@@ -294,6 +308,20 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/* USER CODE END TIM3_MspDeInit 1 */ /* USER CODE END TIM3_MspDeInit 1 */
} }
else if(htim_base->Instance==TIM14)
{
/* USER CODE BEGIN TIM14_MspDeInit 0 */
/* USER CODE END TIM14_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM14_CLK_DISABLE();
/* TIM14 interrupt DeInit */
HAL_NVIC_DisableIRQ(TIM14_IRQn);
/* USER CODE BEGIN TIM14_MspDeInit 1 */
/* USER CODE END TIM14_MspDeInit 1 */
}
else if(htim_base->Instance==TIM16) else if(htim_base->Instance==TIM16)
{ {
/* USER CODE BEGIN TIM16_MspDeInit 0 */ /* USER CODE BEGIN TIM16_MspDeInit 0 */

View File

@@ -55,6 +55,7 @@
/* USER CODE END 0 */ /* USER CODE END 0 */
/* External variables --------------------------------------------------------*/ /* External variables --------------------------------------------------------*/
extern TIM_HandleTypeDef htim14;
extern TIM_HandleTypeDef htim16; extern TIM_HandleTypeDef htim16;
extern TIM_HandleTypeDef htim17; extern TIM_HandleTypeDef htim17;
/* USER CODE BEGIN EV */ /* USER CODE BEGIN EV */
@@ -169,6 +170,20 @@ void EXTI4_15_IRQHandler(void)
/* USER CODE END EXTI4_15_IRQn 1 */ /* USER CODE END EXTI4_15_IRQn 1 */
} }
/**
* @brief This function handles TIM14 global interrupt.
*/
void TIM14_IRQHandler(void)
{
/* USER CODE BEGIN TIM14_IRQn 0 */
/* USER CODE END TIM14_IRQn 0 */
HAL_TIM_IRQHandler(&htim14);
/* USER CODE BEGIN TIM14_IRQn 1 */
/* USER CODE END TIM14_IRQn 1 */
}
/** /**
* @brief This function handles TIM16 global interrupt. * @brief This function handles TIM16 global interrupt.
*/ */

View File

@@ -1,4 +1,7 @@
#MicroXplorer Configuration settings - do not modify #MicroXplorer Configuration settings - do not modify
CAD.formats=
CAD.pinconfig=
CAD.provider=
File.Version=6 File.Version=6
GPIO.groupedBy=Group By Peripherals GPIO.groupedBy=Group By Peripherals
I2C1.I2C_Speed_Mode=I2C_Standard I2C1.I2C_Speed_Mode=I2C_Standard
@@ -13,16 +16,18 @@ Mcu.IP2=NVIC
Mcu.IP3=RCC Mcu.IP3=RCC
Mcu.IP4=SYS Mcu.IP4=SYS
Mcu.IP5=TIM3 Mcu.IP5=TIM3
Mcu.IP6=TIM16 Mcu.IP6=TIM14
Mcu.IP7=TIM17 Mcu.IP7=TIM16
Mcu.IPNb=8 Mcu.IP8=TIM17
Mcu.IPNb=9
Mcu.Name=STM32G031G(4-6-8)Ux Mcu.Name=STM32G031G(4-6-8)Ux
Mcu.Package=UFQFPN28 Mcu.Package=UFQFPN28
Mcu.Pin0=PA0 Mcu.Pin0=PA0
Mcu.Pin1=PC6 Mcu.Pin1=PC6
Mcu.Pin10=VP_TIM3_VS_ClockSourceINT Mcu.Pin10=VP_TIM3_VS_ClockSourceINT
Mcu.Pin11=VP_TIM16_VS_ClockSourceINT Mcu.Pin11=VP_TIM14_VS_ClockSourceINT
Mcu.Pin12=VP_TIM17_VS_ClockSourceINT Mcu.Pin12=VP_TIM16_VS_ClockSourceINT
Mcu.Pin13=VP_TIM17_VS_ClockSourceINT
Mcu.Pin2=PA13 Mcu.Pin2=PA13
Mcu.Pin3=PA14-BOOT0 Mcu.Pin3=PA14-BOOT0
Mcu.Pin4=PB4 Mcu.Pin4=PB4
@@ -31,12 +36,12 @@ Mcu.Pin6=PB6
Mcu.Pin7=PB7 Mcu.Pin7=PB7
Mcu.Pin8=VP_CRC_VS_CRC Mcu.Pin8=VP_CRC_VS_CRC
Mcu.Pin9=VP_SYS_VS_Systick Mcu.Pin9=VP_SYS_VS_Systick
Mcu.PinsNb=13 Mcu.PinsNb=14
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32G031G8Ux Mcu.UserName=STM32G031G8Ux
MxCube.Version=6.6.1 MxCube.Version=6.7.0
MxDb.Version=DB.6.0.60 MxDb.Version=DB.6.0.70
NVIC.EXTI0_1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.EXTI0_1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.EXTI4_15_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.EXTI4_15_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.ForceEnableDMAVector=true NVIC.ForceEnableDMAVector=true
@@ -45,6 +50,7 @@ NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
NVIC.SysTick_IRQn=true\:3\:0\:false\:false\:true\:false\:true\:false NVIC.SysTick_IRQn=true\:3\:0\:false\:false\:true\:false\:true\:false
NVIC.TIM14_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.TIM16_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.TIM16_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.TIM17_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.TIM17_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
PA0.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI PA0.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
@@ -106,7 +112,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation= ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=true ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_I2C1_Init-I2C1-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM17_Init-TIM17-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_TIM16_Init-TIM16-false-HAL-true,8-MX_USART2_UART_Init-USART2-false-HAL-true ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_I2C1_Init-I2C1-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM17_Init-TIM17-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_TIM16_Init-TIM16-false-HAL-true
RCC.ADCFreq_Value=64000000 RCC.ADCFreq_Value=64000000
RCC.AHBFreq_Value=64000000 RCC.AHBFreq_Value=64000000
RCC.APBFreq_Value=64000000 RCC.APBFreq_Value=64000000
@@ -144,6 +150,9 @@ SH.GPXTI5.0=GPIO_EXTI5
SH.GPXTI5.ConfNb=1 SH.GPXTI5.ConfNb=1
SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1 SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1
SH.S_TIM3_CH1.ConfNb=1 SH.S_TIM3_CH1.ConfNb=1
TIM14.IPParameters=Prescaler,Period
TIM14.Period=10000-1
TIM14.Prescaler=6400-1
TIM16.IPParameters=Prescaler,Period TIM16.IPParameters=Prescaler,Period
TIM16.Period=10000-1 TIM16.Period=10000-1
TIM16.Prescaler=640-1 TIM16.Prescaler=640-1
@@ -160,6 +169,8 @@ VP_CRC_VS_CRC.Mode=CRC_Activate
VP_CRC_VS_CRC.Signal=CRC_VS_CRC VP_CRC_VS_CRC.Signal=CRC_VS_CRC
VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TIM14_VS_ClockSourceINT.Mode=Enable_Timer
VP_TIM14_VS_ClockSourceINT.Signal=TIM14_VS_ClockSourceINT
VP_TIM16_VS_ClockSourceINT.Mode=Enable_Timer VP_TIM16_VS_ClockSourceINT.Mode=Enable_Timer
VP_TIM16_VS_ClockSourceINT.Signal=TIM16_VS_ClockSourceINT VP_TIM16_VS_ClockSourceINT.Signal=TIM16_VS_ClockSourceINT
VP_TIM17_VS_ClockSourceINT.Mode=Enable_Timer VP_TIM17_VS_ClockSourceINT.Mode=Enable_Timer

View File

@@ -38,8 +38,8 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */ /* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */ _estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
_Min_Heap_Size = 0x200 ; /* required amount of heap */ _Min_Heap_Size = 0x200; /* required amount of heap */
_Min_Stack_Size = 0x400 ; /* required amount of stack */ _Min_Stack_Size = 0x400; /* required amount of stack */
/* Memories definition */ /* Memories definition */
MEMORY MEMORY