Browse Source

init

master
zhaohe 1 year ago
parent
commit
789d34a8f3
  1. 22
      .mxproject
  2. 1
      Core/Inc/stm32f4xx_it.h
  3. 6
      Core/Src/gpio.c
  4. 6
      Core/Src/main.c
  5. 63
      Core/Src/stm32f4xx_hal_timebase_tim.c
  6. 21
      Core/Src/stm32f4xx_it.c
  7. 2
      Core/Src/usart.c
  8. 87
      h2o2_ext_sensor.ioc
  9. 27
      usrc/base/hardware.cpp
  10. 3
      usrc/main.cpp
  11. 2
      zsdk

22
.mxproject
File diff suppressed because it is too large
View File

1
Core/Inc/stm32f4xx_it.h

@ -64,6 +64,7 @@ void CAN1_SCE_IRQHandler(void);
void TIM1_TRG_COM_TIM11_IRQHandler(void); void TIM1_TRG_COM_TIM11_IRQHandler(void);
void USART2_IRQHandler(void); void USART2_IRQHandler(void);
void USART3_IRQHandler(void); void USART3_IRQHandler(void);
void TIM8_BRK_TIM12_IRQHandler(void);
void TIM6_DAC_IRQHandler(void); void TIM6_DAC_IRQHandler(void);
void TIM7_IRQHandler(void); void TIM7_IRQHandler(void);
/* USER CODE BEGIN EFP */ /* USER CODE BEGIN EFP */

6
Core/Src/gpio.c

@ -79,11 +79,9 @@ void MX_GPIO_Init(void)
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/*Configure GPIO pins : PA0 PA1 PA4 PA5 /*Configure GPIO pins : PA0 PA1 PA4 PA5
PA6 PA7 PA8 PA13
PA14 PA15 */
PA6 PA7 PA8 PA15 */
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_13
|GPIO_PIN_14|GPIO_PIN_15;
|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

6
Core/Src/main.c

@ -106,7 +106,7 @@ int main(void)
MX_USART3_UART_Init(); MX_USART3_UART_Init();
MX_CAN1_Init(); MX_CAN1_Init();
MX_ADC1_Init(); MX_ADC1_Init();
MX_IWDG_Init();
// MX_IWDG_Init();
MX_USART2_UART_Init(); MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
@ -183,7 +183,7 @@ void SystemClock_Config(void)
/** /**
* @brief Period elapsed callback in non blocking mode * @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM11 interrupt took place, inside
* @note This function is called when TIM12 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
* a global variable "uwTick" used as application time base. * a global variable "uwTick" used as application time base.
* @param htim : TIM handle * @param htim : TIM handle
@ -194,7 +194,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
/* USER CODE BEGIN Callback 0 */ /* USER CODE BEGIN Callback 0 */
/* USER CODE END Callback 0 */ /* USER CODE END Callback 0 */
if (htim->Instance == TIM11) {
if (htim->Instance == TIM12) {
HAL_IncTick(); HAL_IncTick();
} }
/* USER CODE BEGIN Callback 1 */ /* USER CODE BEGIN Callback 1 */

63
Core/Src/stm32f4xx_hal_timebase_tim.c

@ -25,12 +25,12 @@
/* Private define ------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/
TIM_HandleTypeDef htim11;
TIM_HandleTypeDef htim12;
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/ /* Private functions ---------------------------------------------------------*/
/** /**
* @brief This function configures the TIM11 as a time base source.
* @brief This function configures the TIM12 as a time base source.
* The time source is configured to have 1ms time base with a dedicated * The time source is configured to have 1ms time base with a dedicated
* Tick interrupt priority. * Tick interrupt priority.
* @note This function is called automatically at the beginning of program after * @note This function is called automatically at the beginning of program after
@ -41,54 +41,63 @@ TIM_HandleTypeDef htim11;
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{ {
RCC_ClkInitTypeDef clkconfig; RCC_ClkInitTypeDef clkconfig;
uint32_t uwTimclock = 0U;
uint32_t uwTimclock, uwAPB1Prescaler = 0U;
uint32_t uwPrescalerValue = 0U; uint32_t uwPrescalerValue = 0U;
uint32_t pFLatency; uint32_t pFLatency;
HAL_StatusTypeDef status; HAL_StatusTypeDef status;
/* Enable TIM11 clock */
__HAL_RCC_TIM11_CLK_ENABLE();
/* Enable TIM12 clock */
__HAL_RCC_TIM12_CLK_ENABLE();
/* Get clock configuration */ /* Get clock configuration */
HAL_RCC_GetClockConfig(&clkconfig, &pFLatency); HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);
/* Compute TIM11 clock */
uwTimclock = 2*HAL_RCC_GetPCLK2Freq();
/* Get APB1 prescaler */
uwAPB1Prescaler = clkconfig.APB1CLKDivider;
/* Compute TIM12 clock */
if (uwAPB1Prescaler == RCC_HCLK_DIV1)
{
uwTimclock = HAL_RCC_GetPCLK1Freq();
}
else
{
uwTimclock = 2UL * HAL_RCC_GetPCLK1Freq();
}
/* Compute the prescaler value to have TIM11 counter clock equal to 1MHz */
/* Compute the prescaler value to have TIM12 counter clock equal to 1MHz */
uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U); uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U);
/* Initialize TIM11 */
htim11.Instance = TIM11;
/* Initialize TIM12 */
htim12.Instance = TIM12;
/* Initialize TIMx peripheral as follow: /* Initialize TIMx peripheral as follow:
+ Period = [(TIM11CLK/1000) - 1]. to have a (1/1000) s time base.
+ Period = [(TIM12CLK/1000) - 1]. to have a (1/1000) s time base.
+ Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock. + Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
+ ClockDivision = 0 + ClockDivision = 0
+ Counter direction = Up + Counter direction = Up
*/ */
htim11.Init.Period = (1000000U / 1000U) - 1U;
htim11.Init.Prescaler = uwPrescalerValue;
htim11.Init.ClockDivision = 0;
htim11.Init.CounterMode = TIM_COUNTERMODE_UP;
htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
htim12.Init.Period = (1000000U / 1000U) - 1U;
htim12.Init.Prescaler = uwPrescalerValue;
htim12.Init.ClockDivision = 0;
htim12.Init.CounterMode = TIM_COUNTERMODE_UP;
htim12.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
status = HAL_TIM_Base_Init(&htim11);
status = HAL_TIM_Base_Init(&htim12);
if (status == HAL_OK) if (status == HAL_OK)
{ {
/* Start the TIM time Base generation in interrupt mode */ /* Start the TIM time Base generation in interrupt mode */
status = HAL_TIM_Base_Start_IT(&htim11);
status = HAL_TIM_Base_Start_IT(&htim12);
if (status == HAL_OK) if (status == HAL_OK)
{ {
/* Enable the TIM11 global Interrupt */
HAL_NVIC_EnableIRQ(TIM1_TRG_COM_TIM11_IRQn);
/* Enable the TIM12 global Interrupt */
HAL_NVIC_EnableIRQ(TIM8_BRK_TIM12_IRQn);
/* Configure the SysTick IRQ priority */ /* Configure the SysTick IRQ priority */
if (TickPriority < (1UL << __NVIC_PRIO_BITS)) if (TickPriority < (1UL << __NVIC_PRIO_BITS))
{ {
/* Configure the TIM IRQ priority */ /* Configure the TIM IRQ priority */
HAL_NVIC_SetPriority(TIM1_TRG_COM_TIM11_IRQn, TickPriority, 0U);
HAL_NVIC_SetPriority(TIM8_BRK_TIM12_IRQn, TickPriority, 0U);
uwTickPrio = TickPriority; uwTickPrio = TickPriority;
} }
else else
@ -104,25 +113,25 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
/** /**
* @brief Suspend Tick increment. * @brief Suspend Tick increment.
* @note Disable the tick increment by disabling TIM11 update interrupt.
* @note Disable the tick increment by disabling TIM12 update interrupt.
* @param None * @param None
* @retval None * @retval None
*/ */
void HAL_SuspendTick(void) void HAL_SuspendTick(void)
{ {
/* Disable TIM11 update Interrupt */
__HAL_TIM_DISABLE_IT(&htim11, TIM_IT_UPDATE);
/* Disable TIM12 update Interrupt */
__HAL_TIM_DISABLE_IT(&htim12, TIM_IT_UPDATE);
} }
/** /**
* @brief Resume Tick increment. * @brief Resume Tick increment.
* @note Enable the tick increment by Enabling TIM11 update interrupt.
* @note Enable the tick increment by Enabling TIM12 update interrupt.
* @param None * @param None
* @retval None * @retval None
*/ */
void HAL_ResumeTick(void) void HAL_ResumeTick(void)
{ {
/* Enable TIM11 Update interrupt */
__HAL_TIM_ENABLE_IT(&htim11, TIM_IT_UPDATE);
/* Enable TIM12 Update interrupt */
__HAL_TIM_ENABLE_IT(&htim12, TIM_IT_UPDATE);
} }

21
Core/Src/stm32f4xx_it.c

@ -66,7 +66,7 @@ extern DMA_HandleTypeDef hdma_usart3_rx;
extern DMA_HandleTypeDef hdma_usart3_tx; extern DMA_HandleTypeDef hdma_usart3_tx;
extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3; extern UART_HandleTypeDef huart3;
extern TIM_HandleTypeDef htim11;
extern TIM_HandleTypeDef htim12;
/* USER CODE BEGIN EV */ /* USER CODE BEGIN EV */
void SysMgr_on_NMI_Handler(void); void SysMgr_on_NMI_Handler(void);
@ -182,6 +182,7 @@ void DMA1_Stream1_IRQHandler(void)
/* USER CODE BEGIN DMA1_Stream1_IRQn 0 */ /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */
/* USER CODE END DMA1_Stream1_IRQn 0 */ /* USER CODE END DMA1_Stream1_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart3_rx);
/* USER CODE BEGIN DMA1_Stream1_IRQn 1 */ /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */
/* USER CODE END DMA1_Stream1_IRQn 1 */ /* USER CODE END DMA1_Stream1_IRQn 1 */
@ -195,6 +196,7 @@ void DMA1_Stream3_IRQHandler(void)
/* USER CODE BEGIN DMA1_Stream3_IRQn 0 */ /* USER CODE BEGIN DMA1_Stream3_IRQn 0 */
/* USER CODE END DMA1_Stream3_IRQn 0 */ /* USER CODE END DMA1_Stream3_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart3_tx);
/* USER CODE BEGIN DMA1_Stream3_IRQn 1 */ /* USER CODE BEGIN DMA1_Stream3_IRQn 1 */
/* USER CODE END DMA1_Stream3_IRQn 1 */ /* USER CODE END DMA1_Stream3_IRQn 1 */
@ -208,6 +210,7 @@ void DMA1_Stream5_IRQHandler(void)
/* USER CODE BEGIN DMA1_Stream5_IRQn 0 */ /* USER CODE BEGIN DMA1_Stream5_IRQn 0 */
/* USER CODE END DMA1_Stream5_IRQn 0 */ /* USER CODE END DMA1_Stream5_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart2_rx);
/* USER CODE BEGIN DMA1_Stream5_IRQn 1 */ /* USER CODE BEGIN DMA1_Stream5_IRQn 1 */
/* USER CODE END DMA1_Stream5_IRQn 1 */ /* USER CODE END DMA1_Stream5_IRQn 1 */
@ -221,6 +224,7 @@ void DMA1_Stream6_IRQHandler(void)
/* USER CODE BEGIN DMA1_Stream6_IRQn 0 */ /* USER CODE BEGIN DMA1_Stream6_IRQn 0 */
/* USER CODE END DMA1_Stream6_IRQn 0 */ /* USER CODE END DMA1_Stream6_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart2_tx);
/* USER CODE BEGIN DMA1_Stream6_IRQn 1 */ /* USER CODE BEGIN DMA1_Stream6_IRQn 1 */
/* USER CODE END DMA1_Stream6_IRQn 1 */ /* USER CODE END DMA1_Stream6_IRQn 1 */
@ -304,6 +308,7 @@ void TIM1_TRG_COM_TIM11_IRQHandler(void)
/* USER CODE BEGIN TIM1_TRG_COM_TIM11_IRQn 0 */ /* USER CODE BEGIN TIM1_TRG_COM_TIM11_IRQn 0 */
/* USER CODE END TIM1_TRG_COM_TIM11_IRQn 0 */ /* USER CODE END TIM1_TRG_COM_TIM11_IRQn 0 */
HAL_TIM_IRQHandler(&htim1);
/* USER CODE BEGIN TIM1_TRG_COM_TIM11_IRQn 1 */ /* USER CODE BEGIN TIM1_TRG_COM_TIM11_IRQn 1 */
/* USER CODE END TIM1_TRG_COM_TIM11_IRQn 1 */ /* USER CODE END TIM1_TRG_COM_TIM11_IRQn 1 */
@ -338,6 +343,20 @@ void USART3_IRQHandler(void)
} }
/** /**
* @brief This function handles TIM8 break interrupt and TIM12 global interrupt.
*/
void TIM8_BRK_TIM12_IRQHandler(void)
{
/* USER CODE BEGIN TIM8_BRK_TIM12_IRQn 0 */
/* USER CODE END TIM8_BRK_TIM12_IRQn 0 */
HAL_TIM_IRQHandler(&htim12);
/* USER CODE BEGIN TIM8_BRK_TIM12_IRQn 1 */
/* USER CODE END TIM8_BRK_TIM12_IRQn 1 */
}
/**
* @brief This function handles TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts. * @brief This function handles TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts.
*/ */
void TIM6_DAC_IRQHandler(void) void TIM6_DAC_IRQHandler(void)

2
Core/Src/usart.c

@ -206,7 +206,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart2_tx); __HAL_LINKDMA(uartHandle,hdmatx,hdma_usart2_tx);
/* USART2 interrupt Init */ /* USART2 interrupt Init */
HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
HAL_NVIC_SetPriority(USART2_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(USART2_IRQn); HAL_NVIC_EnableIRQ(USART2_IRQn);
/* USER CODE BEGIN USART2_MspInit 1 */ /* USER CODE BEGIN USART2_MspInit 1 */

87
h2o2_ext_sensor.ioc

@ -117,16 +117,18 @@ Mcu.Pin0=PH0-OSC_IN
Mcu.Pin1=PH1-OSC_OUT Mcu.Pin1=PH1-OSC_OUT
Mcu.Pin10=PA11 Mcu.Pin10=PA11
Mcu.Pin11=PA12 Mcu.Pin11=PA12
Mcu.Pin12=VP_CRC_VS_CRC
Mcu.Pin13=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin14=VP_IWDG_VS_IWDG
Mcu.Pin15=VP_RNG_VS_RNG
Mcu.Pin16=VP_SYS_VS_tim11
Mcu.Pin17=VP_TIM1_VS_ClockSourceINT
Mcu.Pin18=VP_TIM3_VS_ClockSourceINT
Mcu.Pin19=VP_TIM6_VS_ClockSourceINT
Mcu.Pin12=PA13
Mcu.Pin13=PA14
Mcu.Pin14=VP_CRC_VS_CRC
Mcu.Pin15=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin16=VP_IWDG_VS_IWDG
Mcu.Pin17=VP_RNG_VS_RNG
Mcu.Pin18=VP_SYS_VS_tim12
Mcu.Pin19=VP_TIM1_VS_ClockSourceINT
Mcu.Pin2=PC0 Mcu.Pin2=PC0
Mcu.Pin20=VP_TIM7_VS_ClockSourceINT
Mcu.Pin20=VP_TIM3_VS_ClockSourceINT
Mcu.Pin21=VP_TIM6_VS_ClockSourceINT
Mcu.Pin22=VP_TIM7_VS_ClockSourceINT
Mcu.Pin3=PC1 Mcu.Pin3=PC1
Mcu.Pin4=PA2 Mcu.Pin4=PA2
Mcu.Pin5=PA3 Mcu.Pin5=PA3
@ -134,39 +136,43 @@ Mcu.Pin6=PB10
Mcu.Pin7=PB11 Mcu.Pin7=PB11
Mcu.Pin8=PA9 Mcu.Pin8=PA9
Mcu.Pin9=PA10 Mcu.Pin9=PA10
Mcu.PinsNb=21
Mcu.PinsNb=23
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32F407VETx Mcu.UserName=STM32F407VETx
MxCube.Version=6.11.0 MxCube.Version=6.11.0
MxDb.Version=DB.6.0.110 MxDb.Version=DB.6.0.110
NVIC.ADC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.CAN1_RX0_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.CAN1_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.CAN1_SCE_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.CAN1_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.DMA1_Stream1_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true
NVIC.DMA1_Stream3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true
NVIC.DMA1_Stream5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true
NVIC.DMA1_Stream6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.ADC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.CAN1_RX0_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.CAN1_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.CAN1_SCE_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.CAN1_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.DMA1_Stream1_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.ForceEnableDMAVector=true NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:false
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:true\:true\:false
NVIC.TIM1_TRG_COM_TIM11_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true
NVIC.TIM6_DAC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.TIM7_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.TimeBase=TIM1_TRG_COM_TIM11_IRQn
NVIC.TimeBaseIP=TIM11
NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:false
NVIC.SavedPendsvIrqHandlerGenerated=true
NVIC.SavedSvcallIrqHandlerGenerated=true
NVIC.SavedSystickIrqHandlerGenerated=true
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:true\:true\:true\:false
NVIC.TIM1_TRG_COM_TIM11_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true
NVIC.TIM6_DAC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.TIM7_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.TIM8_BRK_TIM12_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true
NVIC.TimeBase=TIM8_BRK_TIM12_IRQn
NVIC.TimeBaseIP=TIM12
NVIC.USART2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
PA10.Mode=Asynchronous PA10.Mode=Asynchronous
PA10.Signal=USART1_RX PA10.Signal=USART1_RX
PA11.Locked=true PA11.Locked=true
@ -175,6 +181,10 @@ PA11.Signal=CAN1_RX
PA12.Locked=true PA12.Locked=true
PA12.Mode=CAN_Activate PA12.Mode=CAN_Activate
PA12.Signal=CAN1_TX PA12.Signal=CAN1_TX
PA13.Mode=Serial_Wire
PA13.Signal=SYS_JTMS-SWDIO
PA14.Mode=Serial_Wire
PA14.Signal=SYS_JTCK-SWCLK
PA2.Locked=true PA2.Locked=true
PA2.Mode=Asynchronous PA2.Mode=Asynchronous
PA2.Signal=USART2_TX PA2.Signal=USART2_TX
@ -231,7 +241,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath= ProjectManager.UAScriptBeforePath=
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_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_RNG_Init-RNG-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_CAN1_Init-CAN1-false-HAL-true,13-MX_ADC1_Init-ADC1-false-HAL-true,14-MX_IWDG_Init-IWDG-false-HAL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_RNG_Init-RNG-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_CAN1_Init-CAN1-false-HAL-true,13-MX_ADC1_Init-ADC1-false-HAL-true,14-MX_IWDG_Init-IWDG-false-HAL-true,15-MX_USART2_UART_Init-USART2-false-HAL-true
RCC.48MHZClocksFreq_Value=48000000 RCC.48MHZClocksFreq_Value=48000000
RCC.AHBFreq_Value=144000000 RCC.AHBFreq_Value=144000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4 RCC.APB1CLKDivider=RCC_HCLK_DIV4
@ -305,8 +315,8 @@ VP_IWDG_VS_IWDG.Mode=IWDG_Activate
VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
VP_RNG_VS_RNG.Mode=RNG_Activate VP_RNG_VS_RNG.Mode=RNG_Activate
VP_RNG_VS_RNG.Signal=RNG_VS_RNG VP_RNG_VS_RNG.Signal=RNG_VS_RNG
VP_SYS_VS_tim11.Mode=TIM11
VP_SYS_VS_tim11.Signal=SYS_VS_tim11
VP_SYS_VS_tim12.Mode=TIM12
VP_SYS_VS_tim12.Signal=SYS_VS_tim12
VP_TIM1_VS_ClockSourceINT.Mode=Internal VP_TIM1_VS_ClockSourceINT.Mode=Internal
VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT
VP_TIM3_VS_ClockSourceINT.Mode=Internal VP_TIM3_VS_ClockSourceINT.Mode=Internal
@ -316,4 +326,5 @@ VP_TIM6_VS_ClockSourceINT.Signal=TIM6_VS_ClockSourceINT
VP_TIM7_VS_ClockSourceINT.Mode=Enable_Timer VP_TIM7_VS_ClockSourceINT.Mode=Enable_Timer
VP_TIM7_VS_ClockSourceINT.Signal=TIM7_VS_ClockSourceINT VP_TIM7_VS_ClockSourceINT.Signal=TIM7_VS_ClockSourceINT
board=custom board=custom
rtos.0.ip=FREERTOS
isbadioc=false isbadioc=false

27
usrc/base/hardware.cpp

@ -37,9 +37,9 @@ void Hardware::setAlarmLight(bool r, bool g, bool y) {
void Hardware::setAlarmLight(light_state_t state) { m_alarmLightState = state; } void Hardware::setAlarmLight(light_state_t state) { m_alarmLightState = state; }
void Hardware::init() { void Hardware::init() {
m_alarmLightR.initAsOutput(PD7, kxs_gpio_nopull, true, false);
m_alarmLightG.initAsOutput(PD9, kxs_gpio_nopull, true, false);
m_alarmLightY.initAsOutput(PD8, kxs_gpio_nopull, true, false);
m_alarmLightR.initAsOutput(PD7, kxs_gpio_pullup, true, false);
m_alarmLightG.initAsOutput(PD9, kxs_gpio_pullup, true, false);
m_alarmLightY.initAsOutput(PD8, kxs_gpio_pullup, true, false);
m_switch_group0.initAsInput(PE0, kxs_gpio_nopull, kxs_gpio_no_irq, false); m_switch_group0.initAsInput(PE0, kxs_gpio_nopull, kxs_gpio_no_irq, false);
m_switch_group1.initAsInput(PE1, kxs_gpio_nopull, kxs_gpio_no_irq, false); m_switch_group1.initAsInput(PE1, kxs_gpio_nopull, kxs_gpio_no_irq, false);
@ -73,6 +73,7 @@ void Hardware::init() {
} }
m_H2o2Sensor_HMP110.setid(m_h2o2sensor_detectId); m_H2o2Sensor_HMP110.setid(m_h2o2sensor_detectId);
ZLOGI(TAG, "H2O2 HMP110 Sensor detect id: %d", m_h2o2sensor_detectId); ZLOGI(TAG, "H2O2 HMP110 Sensor detect id: %d", m_h2o2sensor_detectId);
#endif #endif
#ifdef H2O2_SENSOR_TYPE_HPP272 #ifdef H2O2_SENSOR_TYPE_HPP272
@ -150,6 +151,7 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal(); int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal();
HMP110::hmp110_sensordata_t sensordata; HMP110::hmp110_sensordata_t sensordata;
m_H2o2Sensor_HMP110.read_cache_sensor_data(&sensordata); m_H2o2Sensor_HMP110.read_cache_sensor_data(&sensordata);
// float mv = adcv / 4095.0 * 3.3 * 1000; // float mv = adcv / 4095.0 * 3.3 * 1000;
// float ma = mv / 150.0; // float ma = mv / 150.0;
@ -163,14 +165,15 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
readdata->temp = sensordata.temp; readdata->temp = sensordata.temp;
readdata->saturation = 0; readdata->saturation = 0;
ZLOGI(TAG, "ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
h2o2ppm, //
sensordata.rh, //
sensordata.temp, //
sensordata.df_ptemp, //
sensordata.ah, //
sensordata.mr, //
sensordata.wet_bulb_temp, //
ZLOGI(TAG, "ecode: %d ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
ecode, //
h2o2ppm, //
sensordata.rh, //
sensordata.temp, //
sensordata.df_ptemp, //
sensordata.ah, //
sensordata.mr, //
sensordata.wet_bulb_temp, //
sensordata.enthalpy); sensordata.enthalpy);
return 0; return 0;
@ -218,7 +221,7 @@ void Hardware::onH2O2CaptureThread() {
void Hardware::onAlarmLightThread() { void Hardware::onAlarmLightThread() {
while (1) { while (1) {
osDelay(100);
osDelay(500);
if (m_alarmLightState == kdisconnected) { if (m_alarmLightState == kdisconnected) {
static bool state; static bool state;
setAlarmLight(false, state, false); setAlarmLight(false, state, false);

3
usrc/main.cpp

@ -47,12 +47,13 @@ void umain() {
ZLOGI(TAG, "sn : %s", sn_get_str()); ZLOGI(TAG, "sn : %s", sn_get_str());
ZLOGI(TAG, "boardId : %d", deviceInfo_getBoardId()); ZLOGI(TAG, "boardId : %d", deviceInfo_getBoardId());
ZLOGI(TAG, "="); ZLOGI(TAG, "=");
HAL_IWDG_Refresh(&hiwdg);
ZLOGI(TAG, "======================= init info ==================== "); ZLOGI(TAG, "======================= init info ==================== ");
protocol_impl_service_init(); protocol_impl_service_init();
ZLOGI(TAG, "="); ZLOGI(TAG, "=");
ZLOGI(TAG, "======================= sysinfo ======================= "); ZLOGI(TAG, "======================= sysinfo ======================= ");
HAL_IWDG_Refresh(&hiwdg);
SysMgr::ins()->initedFinished(); SysMgr::ins()->initedFinished();
SysMgr::ins()->dumpSysInfo(); SysMgr::ins()->dumpSysInfo();
ZLOGI(TAG, "="); ZLOGI(TAG, "=");

2
zsdk

@ -1 +1 @@
Subproject commit 71777bf1162edf229517047c572d2a401ce37ee3
Subproject commit 10fdc1707ddfa96c7135525aeb617c969a966dec
Loading…
Cancel
Save