Browse Source

update

master
zhaohe 2 years ago
parent
commit
abf6547e77
  1. 1
      Core/Inc/stm32f4xx_it.h
  2. 15
      Core/Src/stm32f4xx_it.c
  3. 5
      Core/Src/usart.c
  4. 1
      mainboard.ioc
  5. 8
      usrc/main.cpp

1
Core/Inc/stm32f4xx_it.h

@ -54,6 +54,7 @@ void UsageFault_Handler(void);
void DebugMon_Handler(void); void DebugMon_Handler(void);
void TIM1_UP_TIM10_IRQHandler(void); void TIM1_UP_TIM10_IRQHandler(void);
void TIM1_TRG_COM_TIM11_IRQHandler(void); void TIM1_TRG_COM_TIM11_IRQHandler(void);
void USART1_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 */

15
Core/Src/stm32f4xx_it.c

@ -58,6 +58,7 @@
extern TIM_HandleTypeDef htim6; extern TIM_HandleTypeDef htim6;
extern TIM_HandleTypeDef htim7; extern TIM_HandleTypeDef htim7;
extern TIM_HandleTypeDef htim10; extern TIM_HandleTypeDef htim10;
extern UART_HandleTypeDef huart1;
extern TIM_HandleTypeDef htim11; extern TIM_HandleTypeDef htim11;
/* USER CODE BEGIN EV */ /* USER CODE BEGIN EV */
@ -191,6 +192,20 @@ void TIM1_TRG_COM_TIM11_IRQHandler(void)
} }
/** /**
* @brief This function handles USART1 global interrupt.
*/
void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 0 */
/* USER CODE END USART1_IRQn 0 */
HAL_UART_IRQHandler(&huart1);
/* USER CODE BEGIN USART1_IRQn 1 */
/* USER CODE END USART1_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)

5
Core/Src/usart.c

@ -110,6 +110,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
GPIO_InitStruct.Alternate = GPIO_AF7_USART1; GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USART1 interrupt Init */
HAL_NVIC_SetPriority(USART1_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(USART1_IRQn);
/* USER CODE BEGIN USART1_MspInit 1 */ /* USER CODE BEGIN USART1_MspInit 1 */
/* USER CODE END USART1_MspInit 1 */ /* USER CODE END USART1_MspInit 1 */
@ -157,6 +160,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
*/ */
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
/* USART1 interrupt Deinit */
HAL_NVIC_DisableIRQ(USART1_IRQn);
/* USER CODE BEGIN USART1_MspDeInit 1 */ /* USER CODE BEGIN USART1_MspDeInit 1 */
/* USER CODE END USART1_MspDeInit 1 */ /* USER CODE END USART1_MspDeInit 1 */

1
mainboard.ioc

@ -67,6 +67,7 @@ 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.TIM7_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.TimeBase=TIM1_TRG_COM_TIM11_IRQn NVIC.TimeBase=TIM1_TRG_COM_TIM11_IRQn
NVIC.TimeBaseIP=TIM11 NVIC.TimeBaseIP=TIM11
NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false 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

8
usrc/main.cpp

@ -5,6 +5,7 @@
// //
#include "sdk/os/zos.hpp" #include "sdk/os/zos.hpp"
#include "sdk\components\cmdscheduler\cmd_scheduler.hpp"
#include "sdk\components\step_motor_45\step_motor_45.hpp" #include "sdk\components\step_motor_45\step_motor_45.hpp"
#include "sdk\components\step_motor_45\step_motor_45_scheduler.hpp" #include "sdk\components\step_motor_45\step_motor_45_scheduler.hpp"
@ -131,7 +132,14 @@ void Main::run() {
step_motor45_scheduler.start(); step_motor45_scheduler.start();
CmdScheduler cmdScheduler;
cmdScheduler.initialize(&DEBUG_UART, 1000);
cmdScheduler.registerCmd("help", //
[this](int argc, char** argv, CmdScheduler::CmdProcessContext* context) { ZLOGI(TAG, "do_help"); });
while (true) { while (true) {
OSDefaultSchduler::getInstance()->loop(); OSDefaultSchduler::getInstance()->loop();
cmdScheduler.schedule();
osDelay(1);
} }
} }
Loading…
Cancel
Save