遥控器ok
This commit is contained in:
parent
8fa0d118f9
commit
e250fedca2
@ -58,6 +58,7 @@ void EXTI3_IRQHandler(void);
|
|||||||
void EXTI4_IRQHandler(void);
|
void EXTI4_IRQHandler(void);
|
||||||
void DMA1_Stream1_IRQHandler(void);
|
void DMA1_Stream1_IRQHandler(void);
|
||||||
void DMA1_Stream2_IRQHandler(void);
|
void DMA1_Stream2_IRQHandler(void);
|
||||||
|
void CAN1_TX_IRQHandler(void);
|
||||||
void CAN1_RX0_IRQHandler(void);
|
void CAN1_RX0_IRQHandler(void);
|
||||||
void CAN1_RX1_IRQHandler(void);
|
void CAN1_RX1_IRQHandler(void);
|
||||||
void EXTI9_5_IRQHandler(void);
|
void EXTI9_5_IRQHandler(void);
|
||||||
@ -68,6 +69,7 @@ void TIM7_IRQHandler(void);
|
|||||||
void DMA2_Stream1_IRQHandler(void);
|
void DMA2_Stream1_IRQHandler(void);
|
||||||
void DMA2_Stream2_IRQHandler(void);
|
void DMA2_Stream2_IRQHandler(void);
|
||||||
void DMA2_Stream3_IRQHandler(void);
|
void DMA2_Stream3_IRQHandler(void);
|
||||||
|
void CAN2_TX_IRQHandler(void);
|
||||||
void CAN2_RX0_IRQHandler(void);
|
void CAN2_RX0_IRQHandler(void);
|
||||||
void CAN2_RX1_IRQHandler(void);
|
void CAN2_RX1_IRQHandler(void);
|
||||||
void OTG_FS_IRQHandler(void);
|
void OTG_FS_IRQHandler(void);
|
||||||
|
|||||||
@ -122,6 +122,8 @@ void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)
|
|||||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* CAN1 interrupt Init */
|
/* CAN1 interrupt Init */
|
||||||
|
HAL_NVIC_SetPriority(CAN1_TX_IRQn, 5, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(CAN1_TX_IRQn);
|
||||||
HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 5, 0);
|
||||||
HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);
|
HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);
|
||||||
HAL_NVIC_SetPriority(CAN1_RX1_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(CAN1_RX1_IRQn, 5, 0);
|
||||||
@ -155,6 +157,8 @@ void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)
|
|||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* CAN2 interrupt Init */
|
/* CAN2 interrupt Init */
|
||||||
|
HAL_NVIC_SetPriority(CAN2_TX_IRQn, 5, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(CAN2_TX_IRQn);
|
||||||
HAL_NVIC_SetPriority(CAN2_RX0_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(CAN2_RX0_IRQn, 5, 0);
|
||||||
HAL_NVIC_EnableIRQ(CAN2_RX0_IRQn);
|
HAL_NVIC_EnableIRQ(CAN2_RX0_IRQn);
|
||||||
HAL_NVIC_SetPriority(CAN2_RX1_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(CAN2_RX1_IRQn, 5, 0);
|
||||||
@ -186,6 +190,7 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
|
|||||||
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1);
|
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1);
|
||||||
|
|
||||||
/* CAN1 interrupt Deinit */
|
/* CAN1 interrupt Deinit */
|
||||||
|
HAL_NVIC_DisableIRQ(CAN1_TX_IRQn);
|
||||||
HAL_NVIC_DisableIRQ(CAN1_RX0_IRQn);
|
HAL_NVIC_DisableIRQ(CAN1_RX0_IRQn);
|
||||||
HAL_NVIC_DisableIRQ(CAN1_RX1_IRQn);
|
HAL_NVIC_DisableIRQ(CAN1_RX1_IRQn);
|
||||||
/* USER CODE BEGIN CAN1_MspDeInit 1 */
|
/* USER CODE BEGIN CAN1_MspDeInit 1 */
|
||||||
@ -211,6 +216,7 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
|
|||||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_5|GPIO_PIN_6);
|
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_5|GPIO_PIN_6);
|
||||||
|
|
||||||
/* CAN2 interrupt Deinit */
|
/* CAN2 interrupt Deinit */
|
||||||
|
HAL_NVIC_DisableIRQ(CAN2_TX_IRQn);
|
||||||
HAL_NVIC_DisableIRQ(CAN2_RX0_IRQn);
|
HAL_NVIC_DisableIRQ(CAN2_RX0_IRQn);
|
||||||
HAL_NVIC_DisableIRQ(CAN2_RX1_IRQn);
|
HAL_NVIC_DisableIRQ(CAN2_RX1_IRQn);
|
||||||
/* USER CODE BEGIN CAN2_MspDeInit 1 */
|
/* USER CODE BEGIN CAN2_MspDeInit 1 */
|
||||||
|
|||||||
@ -268,6 +268,20 @@ void DMA1_Stream2_IRQHandler(void)
|
|||||||
/* USER CODE END DMA1_Stream2_IRQn 1 */
|
/* USER CODE END DMA1_Stream2_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles CAN1 TX interrupts.
|
||||||
|
*/
|
||||||
|
void CAN1_TX_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN CAN1_TX_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END CAN1_TX_IRQn 0 */
|
||||||
|
HAL_CAN_IRQHandler(&hcan1);
|
||||||
|
/* USER CODE BEGIN CAN1_TX_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END CAN1_TX_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles CAN1 RX0 interrupts.
|
* @brief This function handles CAN1 RX0 interrupts.
|
||||||
*/
|
*/
|
||||||
@ -409,6 +423,20 @@ void DMA2_Stream3_IRQHandler(void)
|
|||||||
/* USER CODE END DMA2_Stream3_IRQn 1 */
|
/* USER CODE END DMA2_Stream3_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles CAN2 TX interrupts.
|
||||||
|
*/
|
||||||
|
void CAN2_TX_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN CAN2_TX_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END CAN2_TX_IRQn 0 */
|
||||||
|
HAL_CAN_IRQHandler(&hcan2);
|
||||||
|
/* USER CODE BEGIN CAN2_TX_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END CAN2_TX_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles CAN2 RX0 interrupts.
|
* @brief This function handles CAN2 RX0 interrupts.
|
||||||
*/
|
*/
|
||||||
|
|||||||
10
DevC.ioc
10
DevC.ioc
@ -270,8 +270,10 @@ MxDb.Version=DB.6.0.150
|
|||||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
||||||
NVIC.CAN1_RX0_IRQn=true\:5\:0\:true\:false\:true\:true\:true\:true\:true
|
NVIC.CAN1_RX0_IRQn=true\:5\:0\:true\:false\:true\:true\:true\:true\:true
|
||||||
NVIC.CAN1_RX1_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_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||||
NVIC.CAN2_RX0_IRQn=true\:5\:0\:true\:false\:true\:true\:true\:true\:true
|
NVIC.CAN2_RX0_IRQn=true\:5\:0\:true\:false\:true\:true\:true\:true\:true
|
||||||
NVIC.CAN2_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
NVIC.CAN2_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||||
|
NVIC.CAN2_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||||
NVIC.DMA1_Stream1_IRQn=true\:5\:0\:true\:false\:true\:true\:false\:true\:true
|
NVIC.DMA1_Stream1_IRQn=true\:5\:0\:true\:false\:true\:true\:false\:true\:true
|
||||||
NVIC.DMA1_Stream2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
NVIC.DMA1_Stream2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
||||||
NVIC.DMA1_Stream7_IRQn=true\:5\:0\:true\:false\:true\:true\:false\:true\:true
|
NVIC.DMA1_Stream7_IRQn=true\:5\:0\:true\:false\:true\:true\:false\:true\:true
|
||||||
@ -441,6 +443,13 @@ PC9.GPIO_Pu=GPIO_PULLUP
|
|||||||
PC9.Locked=true
|
PC9.Locked=true
|
||||||
PC9.Mode=I2C
|
PC9.Mode=I2C
|
||||||
PC9.Signal=I2C3_SDA
|
PC9.Signal=I2C3_SDA
|
||||||
|
PCC.Checker=false
|
||||||
|
PCC.Line=STM32F407/417
|
||||||
|
PCC.MCU=STM32F407I(E-G)Hx
|
||||||
|
PCC.PartNumber=STM32F407IGHx
|
||||||
|
PCC.Series=STM32F4
|
||||||
|
PCC.Temperature=25
|
||||||
|
PCC.Vdd=3.3
|
||||||
PD0.Locked=true
|
PD0.Locked=true
|
||||||
PD0.Mode=CAN_Activate
|
PD0.Mode=CAN_Activate
|
||||||
PD0.Signal=CAN1_RX
|
PD0.Signal=CAN1_RX
|
||||||
@ -553,6 +562,7 @@ ProjectManager.DeletePrevious=true
|
|||||||
ProjectManager.DeviceId=STM32F407IGHx
|
ProjectManager.DeviceId=STM32F407IGHx
|
||||||
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.3
|
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.3
|
||||||
ProjectManager.FreePins=false
|
ProjectManager.FreePins=false
|
||||||
|
ProjectManager.FreePinsContext=
|
||||||
ProjectManager.HalAssertFull=true
|
ProjectManager.HalAssertFull=true
|
||||||
ProjectManager.HeapSize=0x1000
|
ProjectManager.HeapSize=0x1000
|
||||||
ProjectManager.KeepUserCode=true
|
ProjectManager.KeepUserCode=true
|
||||||
|
|||||||
@ -0,0 +1,18 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "main.h"
|
||||||
|
#include "bsp/can.h"
|
||||||
|
#include "device/motor.h"
|
||||||
|
#include "device/motor_lz.h"
|
||||||
|
#include "device/motor_rm.h"
|
||||||
|
#include "device/motor_dm.h"
|
||||||
|
|
||||||
|
class Arm {
|
||||||
|
public:
|
||||||
|
Arm();
|
||||||
|
void init();
|
||||||
|
void operator()();
|
||||||
|
private:
|
||||||
|
MOTOR_DM_Param_t motors_param[4];
|
||||||
|
MOTOR_t arm_motors[4];
|
||||||
|
};
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* Includes ----------------------------------------------------------------- */
|
/* Includes ----------------------------------------------------------------- */
|
||||||
#include "task/user_task.h"
|
#include "task/user_task.h"
|
||||||
/* USER INCLUDE BEGIN */
|
/* USER INCLUDE BEGIN */
|
||||||
|
#include "device/dr16.h"
|
||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
@ -14,7 +14,7 @@
|
|||||||
/* Private macro ------------------------------------------------------------ */
|
/* Private macro ------------------------------------------------------------ */
|
||||||
/* Private variables -------------------------------------------------------- */
|
/* Private variables -------------------------------------------------------- */
|
||||||
/* USER STRUCT BEGIN */
|
/* USER STRUCT BEGIN */
|
||||||
|
DR16_t dr16;
|
||||||
/* USER STRUCT END */
|
/* USER STRUCT END */
|
||||||
|
|
||||||
/* Private function --------------------------------------------------------- */
|
/* Private function --------------------------------------------------------- */
|
||||||
@ -30,13 +30,18 @@ void Task_rc(void *argument) {
|
|||||||
|
|
||||||
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||||
/* USER CODE INIT BEGIN */
|
/* USER CODE INIT BEGIN */
|
||||||
|
DR16_Init(&dr16);
|
||||||
/* USER CODE INIT END */
|
/* USER CODE INIT END */
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||||
/* USER CODE BEGIN */
|
/* USER CODE BEGIN */
|
||||||
|
DR16_StartDmaRecv(&dr16);
|
||||||
|
if (DR16_WaitDmaCplt(20)) {
|
||||||
|
DR16_ParseData(&dr16);
|
||||||
|
} else {
|
||||||
|
DR16_Offline(&dr16);
|
||||||
|
}
|
||||||
/* USER CODE END */
|
/* USER CODE END */
|
||||||
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user