mirror of
https://gitee.com/dlmu-cone/tronone-h7-scaffold
synced 2026-07-23 19:25:09 +08:00
add spi6
This commit is contained in:
1
.idea/editor.xml
generated
1
.idea/editor.xml
generated
@@ -268,7 +268,6 @@
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BREAK_TEMPLATE_DECLARATION/@EntryValue" value="LINE_BREAK" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CONTINUOUS_LINE_INDENT/@EntryValue" value="Double" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/FREE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_ACCESS_SPECIFIERS_FROM_CLASS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CLASS_MEMBERS_FROM_ACCESS_SPECIFIERS/@EntryValue" value="true" type="bool" />
|
||||
|
||||
88
.mxproject
88
.mxproject
File diff suppressed because one or more lines are too long
@@ -36,12 +36,15 @@ extern SPI_HandleTypeDef hspi1;
|
||||
|
||||
extern SPI_HandleTypeDef hspi2;
|
||||
|
||||
extern SPI_HandleTypeDef hspi6;
|
||||
|
||||
/* USER CODE BEGIN Private defines */
|
||||
|
||||
/* USER CODE END Private defines */
|
||||
|
||||
void MX_SPI1_Init(void);
|
||||
void MX_SPI2_Init(void);
|
||||
void MX_SPI6_Init(void);
|
||||
|
||||
/* USER CODE BEGIN Prototypes */
|
||||
|
||||
|
||||
@@ -117,30 +117,20 @@ const osThreadAttr_t WS2812Task_attributes = {
|
||||
/* USER CODE END FunctionPrototypes */
|
||||
|
||||
void StartDefaultTask(void *argument);
|
||||
|
||||
void ShootTask(void *argument);
|
||||
|
||||
void GimbalTask(void *argument);
|
||||
|
||||
void ChassisTask(void *argument);
|
||||
|
||||
void StartInitTask(void *argument);
|
||||
|
||||
void VisionTask(void *argument);
|
||||
|
||||
void CmdTask(void *argument);
|
||||
|
||||
void RefereeTask(void *argument);
|
||||
|
||||
extern void ws2812Task(void const *argument);
|
||||
extern void ws2812Task(void *argument);
|
||||
|
||||
extern void MX_USB_DEVICE_Init(void);
|
||||
|
||||
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
||||
|
||||
/* Hook prototypes */
|
||||
void vApplicationStackOverflowHook(xTaskHandle xTask, signed char *pcTaskName);
|
||||
|
||||
void vApplicationMallocFailedHook(void);
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
@@ -229,6 +219,7 @@ void MX_FREERTOS_Init(void) {
|
||||
/* USER CODE BEGIN RTOS_EVENTS */
|
||||
/* add events, ... */
|
||||
/* USER CODE END RTOS_EVENTS */
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN Header_StartDefaultTask */
|
||||
@@ -238,7 +229,8 @@ void MX_FREERTOS_Init(void) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_StartDefaultTask */
|
||||
__weak void StartDefaultTask(void *argument) {
|
||||
__weak void StartDefaultTask(void *argument)
|
||||
{
|
||||
/* init code for USB_DEVICE */
|
||||
MX_USB_DEVICE_Init();
|
||||
/* USER CODE BEGIN StartDefaultTask */
|
||||
@@ -256,7 +248,8 @@ __weak void StartDefaultTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_ShootTask */
|
||||
__weak void ShootTask(void *argument) {
|
||||
__weak void ShootTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN ShootTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
@@ -272,7 +265,8 @@ __weak void ShootTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_GimbalTask */
|
||||
__weak void GimbalTask(void *argument) {
|
||||
__weak void GimbalTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN GimbalTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
@@ -288,7 +282,8 @@ __weak void GimbalTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_ChassisTask */
|
||||
__weak void ChassisTask(void *argument) {
|
||||
__weak void ChassisTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN ChassisTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
@@ -304,7 +299,8 @@ __weak void ChassisTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_StartInitTask */
|
||||
__weak void StartInitTask(void *argument) {
|
||||
__weak void StartInitTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN StartInitTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
@@ -320,7 +316,8 @@ __weak void StartInitTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_VisionTask */
|
||||
__weak void VisionTask(void *argument) {
|
||||
__weak void VisionTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN VisionTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
@@ -336,7 +333,8 @@ __weak void VisionTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_CmdTask */
|
||||
__weak void CmdTask(void *argument) {
|
||||
__weak void CmdTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN CmdTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
@@ -352,7 +350,8 @@ __weak void CmdTask(void *argument) {
|
||||
* @retval None
|
||||
*/
|
||||
/* USER CODE END Header_RefereeTask */
|
||||
__weak void RefereeTask(void *argument) {
|
||||
__weak void RefereeTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN RefereeTask */
|
||||
/* Infinite loop */
|
||||
for (;;) {
|
||||
|
||||
@@ -38,8 +38,6 @@
|
||||
* Output
|
||||
* EVENT_OUT
|
||||
* EXTI
|
||||
PA6 ------> SPI6_MISO
|
||||
PA7 ------> SPI6_MOSI
|
||||
PA8 ------> RCC_MCO_1
|
||||
PC10 ------> SPI3_SCK
|
||||
PC11 ------> SPI3_MISO
|
||||
@@ -99,14 +97,6 @@ void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PA6 PA7 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF8_SPI6;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : pump3_Pin pump4_Pin */
|
||||
GPIO_InitStruct.Pin = pump3_Pin|pump4_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
|
||||
@@ -127,6 +127,7 @@ int main(void)
|
||||
MX_UART5_Init();
|
||||
MX_TIM3_Init();
|
||||
MX_IWDG1_Init();
|
||||
MX_SPI6_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
SPI_HandleTypeDef hspi1;
|
||||
SPI_HandleTypeDef hspi2;
|
||||
SPI_HandleTypeDef hspi6;
|
||||
DMA_HandleTypeDef hdma_spi1_rx;
|
||||
DMA_HandleTypeDef hdma_spi1_tx;
|
||||
DMA_HandleTypeDef hdma_spi2_rx;
|
||||
@@ -114,6 +115,48 @@ void MX_SPI2_Init(void)
|
||||
|
||||
/* USER CODE END SPI2_Init 2 */
|
||||
|
||||
}
|
||||
/* SPI6 init function */
|
||||
void MX_SPI6_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN SPI6_Init 0 */
|
||||
|
||||
/* USER CODE END SPI6_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN SPI6_Init 1 */
|
||||
|
||||
/* USER CODE END SPI6_Init 1 */
|
||||
hspi6.Instance = SPI6;
|
||||
hspi6.Init.Mode = SPI_MODE_MASTER;
|
||||
hspi6.Init.Direction = SPI_DIRECTION_2LINES_TXONLY;
|
||||
hspi6.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||
hspi6.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||
hspi6.Init.CLKPhase = SPI_PHASE_2EDGE;
|
||||
hspi6.Init.NSS = SPI_NSS_SOFT;
|
||||
hspi6.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
||||
hspi6.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||
hspi6.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||
hspi6.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
hspi6.Init.CRCPolynomial = 0x0;
|
||||
hspi6.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
|
||||
hspi6.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
|
||||
hspi6.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
|
||||
hspi6.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
|
||||
hspi6.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
|
||||
hspi6.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
|
||||
hspi6.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
|
||||
hspi6.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
|
||||
hspi6.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
|
||||
hspi6.Init.IOSwap = SPI_IO_SWAP_DISABLE;
|
||||
if (HAL_SPI_Init(&hspi6) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN SPI6_Init 2 */
|
||||
|
||||
/* USER CODE END SPI6_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
|
||||
@@ -287,6 +330,41 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
|
||||
|
||||
/* USER CODE END SPI2_MspInit 1 */
|
||||
}
|
||||
else if(spiHandle->Instance==SPI6)
|
||||
{
|
||||
/* USER CODE BEGIN SPI6_MspInit 0 */
|
||||
|
||||
/* USER CODE END SPI6_MspInit 0 */
|
||||
|
||||
/** Initializes the peripherals clock
|
||||
*/
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI6;
|
||||
PeriphClkInitStruct.Spi6ClockSelection = RCC_SPI6CLKSOURCE_HSE;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* SPI6 clock enable */
|
||||
__HAL_RCC_SPI6_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**SPI6 GPIO Configuration
|
||||
PA5 ------> SPI6_SCK
|
||||
PA6 ------> SPI6_MISO
|
||||
PA7 ------> SPI6_MOSI
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF8_SPI6;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN SPI6_MspInit 1 */
|
||||
|
||||
/* USER CODE END SPI6_MspInit 1 */
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
|
||||
@@ -346,6 +424,25 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
|
||||
|
||||
/* USER CODE END SPI2_MspDeInit 1 */
|
||||
}
|
||||
else if(spiHandle->Instance==SPI6)
|
||||
{
|
||||
/* USER CODE BEGIN SPI6_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END SPI6_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_SPI6_CLK_DISABLE();
|
||||
|
||||
/**SPI6 GPIO Configuration
|
||||
PA5 ------> SPI6_SCK
|
||||
PA6 ------> SPI6_MISO
|
||||
PA7 ------> SPI6_MOSI
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
|
||||
|
||||
/* USER CODE BEGIN SPI6_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END SPI6_MspDeInit 1 */
|
||||
}
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
@@ -419,19 +419,20 @@ Mcu.IP10=NVIC
|
||||
Mcu.IP11=RCC
|
||||
Mcu.IP12=SPI1
|
||||
Mcu.IP13=SPI2
|
||||
Mcu.IP14=SYS
|
||||
Mcu.IP15=TIM1
|
||||
Mcu.IP16=TIM3
|
||||
Mcu.IP17=TIM12
|
||||
Mcu.IP18=UART5
|
||||
Mcu.IP19=UART7
|
||||
Mcu.IP14=SPI6
|
||||
Mcu.IP15=SYS
|
||||
Mcu.IP16=TIM1
|
||||
Mcu.IP17=TIM3
|
||||
Mcu.IP18=TIM12
|
||||
Mcu.IP19=UART5
|
||||
Mcu.IP2=CRC
|
||||
Mcu.IP20=USART1
|
||||
Mcu.IP21=USART2
|
||||
Mcu.IP22=USART3
|
||||
Mcu.IP23=USART10
|
||||
Mcu.IP24=USB_DEVICE
|
||||
Mcu.IP25=USB_OTG_HS
|
||||
Mcu.IP20=UART7
|
||||
Mcu.IP21=USART1
|
||||
Mcu.IP22=USART2
|
||||
Mcu.IP23=USART3
|
||||
Mcu.IP24=USART10
|
||||
Mcu.IP25=USB_DEVICE
|
||||
Mcu.IP26=USB_OTG_HS
|
||||
Mcu.IP3=DMA
|
||||
Mcu.IP4=FDCAN1
|
||||
Mcu.IP5=FDCAN2
|
||||
@@ -439,70 +440,71 @@ Mcu.IP6=FDCAN3
|
||||
Mcu.IP7=FREERTOS
|
||||
Mcu.IP8=IWDG1
|
||||
Mcu.IP9=MEMORYMAP
|
||||
Mcu.IPNb=26
|
||||
Mcu.IPNb=27
|
||||
Mcu.Name=STM32H723VGTx
|
||||
Mcu.Package=LQFP100
|
||||
Mcu.Pin0=PE2
|
||||
Mcu.Pin1=PE3
|
||||
Mcu.Pin10=PA0
|
||||
Mcu.Pin11=PA2
|
||||
Mcu.Pin12=PA6
|
||||
Mcu.Pin13=PA7
|
||||
Mcu.Pin14=PB1
|
||||
Mcu.Pin15=PE7
|
||||
Mcu.Pin16=PE8
|
||||
Mcu.Pin17=PE9
|
||||
Mcu.Pin18=PE10
|
||||
Mcu.Pin19=PE12
|
||||
Mcu.Pin12=PA5
|
||||
Mcu.Pin13=PA6
|
||||
Mcu.Pin14=PA7
|
||||
Mcu.Pin15=PB1
|
||||
Mcu.Pin16=PE7
|
||||
Mcu.Pin17=PE8
|
||||
Mcu.Pin18=PE9
|
||||
Mcu.Pin19=PE10
|
||||
Mcu.Pin2=PC14-OSC32_IN
|
||||
Mcu.Pin20=PE13
|
||||
Mcu.Pin21=PE15
|
||||
Mcu.Pin22=PB10
|
||||
Mcu.Pin23=PB11
|
||||
Mcu.Pin24=PB13
|
||||
Mcu.Pin25=PB14
|
||||
Mcu.Pin26=PB15
|
||||
Mcu.Pin27=PD8
|
||||
Mcu.Pin28=PD9
|
||||
Mcu.Pin29=PD10
|
||||
Mcu.Pin20=PE12
|
||||
Mcu.Pin21=PE13
|
||||
Mcu.Pin22=PE15
|
||||
Mcu.Pin23=PB10
|
||||
Mcu.Pin24=PB11
|
||||
Mcu.Pin25=PB13
|
||||
Mcu.Pin26=PB14
|
||||
Mcu.Pin27=PB15
|
||||
Mcu.Pin28=PD8
|
||||
Mcu.Pin29=PD9
|
||||
Mcu.Pin3=PC15-OSC32_OUT
|
||||
Mcu.Pin30=PD12
|
||||
Mcu.Pin31=PD13
|
||||
Mcu.Pin32=PA8
|
||||
Mcu.Pin33=PA9
|
||||
Mcu.Pin34=PA10
|
||||
Mcu.Pin35=PA11
|
||||
Mcu.Pin36=PA12
|
||||
Mcu.Pin37=PC10
|
||||
Mcu.Pin38=PC11
|
||||
Mcu.Pin39=PC12
|
||||
Mcu.Pin30=PD10
|
||||
Mcu.Pin31=PD12
|
||||
Mcu.Pin32=PD13
|
||||
Mcu.Pin33=PA8
|
||||
Mcu.Pin34=PA9
|
||||
Mcu.Pin35=PA10
|
||||
Mcu.Pin36=PA11
|
||||
Mcu.Pin37=PA12
|
||||
Mcu.Pin38=PC10
|
||||
Mcu.Pin39=PC11
|
||||
Mcu.Pin4=PH0-OSC_IN
|
||||
Mcu.Pin40=PD0
|
||||
Mcu.Pin41=PD1
|
||||
Mcu.Pin42=PD2
|
||||
Mcu.Pin43=PD4
|
||||
Mcu.Pin44=PD5
|
||||
Mcu.Pin45=PD6
|
||||
Mcu.Pin46=PD7
|
||||
Mcu.Pin47=PB3(JTDO/TRACESWO)
|
||||
Mcu.Pin48=PB4(NJTRST)
|
||||
Mcu.Pin49=PB5
|
||||
Mcu.Pin40=PC12
|
||||
Mcu.Pin41=PD0
|
||||
Mcu.Pin42=PD1
|
||||
Mcu.Pin43=PD2
|
||||
Mcu.Pin44=PD4
|
||||
Mcu.Pin45=PD5
|
||||
Mcu.Pin46=PD6
|
||||
Mcu.Pin47=PD7
|
||||
Mcu.Pin48=PB3(JTDO/TRACESWO)
|
||||
Mcu.Pin49=PB4(NJTRST)
|
||||
Mcu.Pin5=PH1-OSC_OUT
|
||||
Mcu.Pin50=PB6
|
||||
Mcu.Pin51=VP_ADC3_TempSens_Input
|
||||
Mcu.Pin52=VP_CRC_VS_CRC
|
||||
Mcu.Pin53=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin54=VP_IWDG1_VS_IWDG
|
||||
Mcu.Pin55=VP_SYS_VS_tim23
|
||||
Mcu.Pin56=VP_TIM1_VS_ClockSourceINT
|
||||
Mcu.Pin57=VP_TIM1_VS_no_output3
|
||||
Mcu.Pin58=VP_USB_DEVICE_VS_USB_DEVICE_CDC_HS
|
||||
Mcu.Pin59=VP_MEMORYMAP_VS_MEMORYMAP
|
||||
Mcu.Pin50=PB5
|
||||
Mcu.Pin51=PB6
|
||||
Mcu.Pin52=VP_ADC3_TempSens_Input
|
||||
Mcu.Pin53=VP_CRC_VS_CRC
|
||||
Mcu.Pin54=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin55=VP_IWDG1_VS_IWDG
|
||||
Mcu.Pin56=VP_SYS_VS_tim23
|
||||
Mcu.Pin57=VP_TIM1_VS_ClockSourceINT
|
||||
Mcu.Pin58=VP_TIM1_VS_no_output3
|
||||
Mcu.Pin59=VP_USB_DEVICE_VS_USB_DEVICE_CDC_HS
|
||||
Mcu.Pin6=PC0
|
||||
Mcu.Pin60=VP_MEMORYMAP_VS_MEMORYMAP
|
||||
Mcu.Pin7=PC1
|
||||
Mcu.Pin8=PC2_C
|
||||
Mcu.Pin9=PC3_C
|
||||
Mcu.PinsNb=60
|
||||
Mcu.PinsNb=61
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32H723VGTx
|
||||
@@ -573,9 +575,11 @@ PA2.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||
PA2.Locked=true
|
||||
PA2.PinState=GPIO_PIN_SET
|
||||
PA2.Signal=GPIO_Output
|
||||
PA5.Mode=TX_Only_Simplex_Unidirect_Master
|
||||
PA5.Signal=SPI6_SCK
|
||||
PA6.Mode=Full_Duplex_Master
|
||||
PA6.Signal=SPI6_MISO
|
||||
PA7.Mode=Full_Duplex_Master
|
||||
PA7.Mode=TX_Only_Simplex_Unidirect_Master
|
||||
PA7.Signal=SPI6_MOSI
|
||||
PA8.Mode=Clock-out-1
|
||||
PA8.Signal=RCC_MCO_1
|
||||
@@ -754,7 +758,7 @@ ProjectManager.ToolChainLocation=
|
||||
ProjectManager.UAScriptAfterPath=
|
||||
ProjectManager.UAScriptBeforePath=
|
||||
ProjectManager.UnderRoot=false
|
||||
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_FDCAN2_Init-FDCAN2-false-HAL-true,5-MX_FDCAN3_Init-FDCAN3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_USB_DEVICE_Init-USB_DEVICE-false-HAL-false,8-MX_FDCAN1_Init-FDCAN1-false-HAL-true,9-MX_USART10_UART_Init-USART10-false-HAL-true,10-MX_SPI2_Init-SPI2-false-HAL-true,11-MX_TIM12_Init-TIM12-false-HAL-true,12-MX_UART7_Init-UART7-false-HAL-true,13-MX_TIM1_Init-TIM1-false-HAL-true,14-MX_USART1_UART_Init-USART1-false-HAL-true,15-MX_ADC3_Init-ADC3-false-HAL-true,16-MX_USART2_UART_Init-USART2-false-HAL-true,17-MX_USART3_UART_Init-USART3-false-HAL-true,18-MX_SPI1_Init-SPI1-false-HAL-true,19-MX_UART5_Init-UART5-false-HAL-true,20-MX_TIM3_Init-TIM3-false-HAL-true,21-MX_IWDG1_Init-IWDG1-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-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_FDCAN2_Init-FDCAN2-false-HAL-true,5-MX_FDCAN3_Init-FDCAN3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_USB_DEVICE_Init-USB_DEVICE-false-HAL-false,8-MX_FDCAN1_Init-FDCAN1-false-HAL-true,9-MX_USART10_UART_Init-USART10-false-HAL-true,10-MX_SPI2_Init-SPI2-false-HAL-true,11-MX_TIM12_Init-TIM12-false-HAL-true,12-MX_UART7_Init-UART7-false-HAL-true,13-MX_TIM1_Init-TIM1-false-HAL-true,14-MX_USART1_UART_Init-USART1-false-HAL-true,15-MX_ADC3_Init-ADC3-false-HAL-true,16-MX_USART2_UART_Init-USART2-false-HAL-true,17-MX_USART3_UART_Init-USART3-false-HAL-true,18-MX_SPI1_Init-SPI1-false-HAL-true,19-MX_UART5_Init-UART5-false-HAL-true,20-MX_TIM3_Init-TIM3-false-HAL-true,21-MX_IWDG1_Init-IWDG1-false-HAL-true,22-MX_SPI6_Init-SPI6-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
|
||||
RCC.ADCFreq_Value=96000000
|
||||
RCC.AHB12Freq_Value=240000000
|
||||
RCC.AHB4Freq_Value=240000000
|
||||
@@ -866,6 +870,14 @@ SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRate
|
||||
SPI2.Mode=SPI_MODE_MASTER
|
||||
SPI2.NSSPMode=SPI_NSS_PULSE_ENABLE
|
||||
SPI2.VirtualType=VM_MASTER
|
||||
SPI6.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8
|
||||
SPI6.CLKPhase=SPI_PHASE_2EDGE
|
||||
SPI6.CalculateBaudRate=3.0 MBits/s
|
||||
SPI6.DataSize=SPI_DATASIZE_8BIT
|
||||
SPI6.Direction=SPI_DIRECTION_2LINES_TXONLY
|
||||
SPI6.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler,CLKPhase
|
||||
SPI6.Mode=SPI_MODE_MASTER
|
||||
SPI6.VirtualType=VM_MASTER
|
||||
TIM1.Channel-PWM\ Generation3\ No\ Output=TIM_CHANNEL_3
|
||||
TIM1.IPParameters=Channel-PWM Generation3 No Output,Prescaler,Period
|
||||
TIM1.Period=1999
|
||||
|
||||
39
User_Code/bsp/delayticks/delayticks.c
Normal file
39
User_Code/bsp/delayticks/delayticks.c
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "delayticks.h"
|
||||
|
||||
/*延时函数,不会将任务挂起*/
|
||||
void delay_ticks(uint32_t delay)
|
||||
{
|
||||
/*开始计数器值*/
|
||||
uint32_t tickstart = xTaskGetTickCount();
|
||||
/*指定延时时间*/
|
||||
uint32_t wait = delay;
|
||||
/*计算当前计数器值和开始计数器值的差*/
|
||||
uint32_t ticks_diff = xTaskGetTickCount() - tickstart;
|
||||
|
||||
if ( ticks_diff < wait )
|
||||
{
|
||||
/*计算剩余等待的时间*/
|
||||
uint32_t remaining_ticks = wait - ticks_diff;
|
||||
|
||||
/*循环等待,直到剩余时间结束*/
|
||||
while ( ( xTaskGetTickCount() - tickstart) < wait )
|
||||
{
|
||||
/*如果发生溢出,则重新计算时间差*/
|
||||
if ( xTaskGetTickCount() < tickstart )
|
||||
{
|
||||
/*重新计算时间差*/
|
||||
ticks_diff = UINT32_MAX - tickstart + xTaskGetTickCount();
|
||||
|
||||
if ( ticks_diff < wait )
|
||||
{
|
||||
remaining_ticks = wait - ticks_diff;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*如果时间差已经大于等于等待时间,则退出*/
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
10
User_Code/bsp/delayticks/delayticks.h
Normal file
10
User_Code/bsp/delayticks/delayticks.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef DELAYTICKS_H
|
||||
#define DELAYTICKS_H
|
||||
|
||||
#include "main.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "tim.h"
|
||||
|
||||
extern void delay_ticks(uint32_t delay);
|
||||
|
||||
#endif
|
||||
22
User_Code/module/paramdef/robot_def.h
Normal file
22
User_Code/module/paramdef/robot_def.h
Normal file
@@ -0,0 +1,22 @@
|
||||
// #pragma once // 可以用#pragma once代替#ifndef ROBOT_DEF_H(header guard)
|
||||
#ifndef ROBOT_DEF_H
|
||||
#define ROBOT_DEF_H
|
||||
|
||||
typedef enum
|
||||
{
|
||||
NORMAL_MODE = 0, // 正常模式,对应数值0
|
||||
SYS_ERROR_OCCURRED = 1, // 系统错误,对应数值1
|
||||
REMOTE_NOT_CONNECTED = 2, // 遥控器未连接,对应数值2
|
||||
REMOTE_CONNECTED = 3, // 遥控器已连接,对应数值3
|
||||
AUTO_SHOOTING_MODE = 4, // 成功进入自动瞄准模式,对应数值4
|
||||
IMU_CALIBERATION_MODE = 5 // IMU校准模式,对应数值5
|
||||
// 添加其他模式
|
||||
} RobotMode_t; //机器人控制模式
|
||||
|
||||
// 声明并初始化变量
|
||||
RobotMode_t RobotMode = REMOTE_NOT_CONNECTED; // 初始状态为遥控器未连接
|
||||
|
||||
|
||||
// #pragma pack() // 开启字节对齐,结束前面的#pragma pack(1)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user