Browse Source

cubemx配置第二个编码器

external_Interrupt
tianjialong 2 years ago
parent
commit
61b8313565
  1. 3
      Inc/tim.h
  2. 45
      LWIP.ioc
  3. 46
      MDK-ARM/LWIP.uvoptx
  4. 1088
      MDK-ARM/LWIP.uvprojx
  5. 3
      Src/freertos.c
  6. 1
      Src/main.c
  7. 88
      Src/tim.c

3
Inc/tim.h

@ -36,12 +36,15 @@ extern TIM_HandleTypeDef htim4;
extern TIM_HandleTypeDef htim6; extern TIM_HandleTypeDef htim6;
extern TIM_HandleTypeDef htim8;
/* USER CODE BEGIN Private defines */ /* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */ /* USER CODE END Private defines */
void MX_TIM4_Init(void); void MX_TIM4_Init(void);
void MX_TIM6_Init(void); void MX_TIM6_Init(void);
void MX_TIM8_Init(void);
/* USER CODE BEGIN Prototypes */ /* USER CODE BEGIN Prototypes */

45
LWIP.ioc

@ -45,26 +45,29 @@ Mcu.IP4=RCC
Mcu.IP5=SYS Mcu.IP5=SYS
Mcu.IP6=TIM4 Mcu.IP6=TIM4
Mcu.IP7=TIM6 Mcu.IP7=TIM6
Mcu.IP8=USART1
Mcu.IPNb=9
Mcu.IP8=TIM8
Mcu.IP9=USART1
Mcu.IPNb=10
Mcu.Name=STM32F407Z(E-G)Tx Mcu.Name=STM32F407Z(E-G)Tx
Mcu.Package=LQFP144 Mcu.Package=LQFP144
Mcu.Pin0=PF10 Mcu.Pin0=PF10
Mcu.Pin1=PH0-OSC_IN Mcu.Pin1=PH0-OSC_IN
Mcu.Pin10=PD13 Mcu.Pin10=PD13
Mcu.Pin11=PA9
Mcu.Pin12=PA10
Mcu.Pin13=PA13
Mcu.Pin14=PA14
Mcu.Pin15=PD3
Mcu.Pin16=PG11
Mcu.Pin17=PG13
Mcu.Pin18=PG14
Mcu.Pin19=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin11=PC6
Mcu.Pin12=PC7
Mcu.Pin13=PA9
Mcu.Pin14=PA10
Mcu.Pin15=PA13
Mcu.Pin16=PA14
Mcu.Pin17=PD3
Mcu.Pin18=PG11
Mcu.Pin19=PG13
Mcu.Pin2=PH1-OSC_OUT Mcu.Pin2=PH1-OSC_OUT
Mcu.Pin20=VP_LWIP_VS_Enabled
Mcu.Pin21=VP_SYS_VS_tim1
Mcu.Pin22=VP_TIM6_VS_ClockSourceINT
Mcu.Pin20=PG14
Mcu.Pin21=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin22=VP_LWIP_VS_Enabled
Mcu.Pin23=VP_SYS_VS_tim1
Mcu.Pin24=VP_TIM6_VS_ClockSourceINT
Mcu.Pin3=PC1 Mcu.Pin3=PC1
Mcu.Pin4=PA1 Mcu.Pin4=PA1
Mcu.Pin5=PA2 Mcu.Pin5=PA2
@ -72,7 +75,7 @@ Mcu.Pin6=PA7
Mcu.Pin7=PC4 Mcu.Pin7=PC4
Mcu.Pin8=PC5 Mcu.Pin8=PC5
Mcu.Pin9=PD12 Mcu.Pin9=PD12
Mcu.PinsNb=23
Mcu.PinsNb=25
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32F407ZETx Mcu.UserName=STM32F407ZETx
@ -117,6 +120,12 @@ PC4.Mode=RMII
PC4.Signal=ETH_RXD0 PC4.Signal=ETH_RXD0
PC5.Mode=RMII PC5.Mode=RMII
PC5.Signal=ETH_RXD1 PC5.Signal=ETH_RXD1
PC6.GPIOParameters=GPIO_PuPd
PC6.GPIO_PuPd=GPIO_PULLUP
PC6.Signal=S_TIM8_CH1
PC7.GPIOParameters=GPIO_PuPd
PC7.GPIO_PuPd=GPIO_PULLUP
PC7.Signal=S_TIM8_CH2
PD12.GPIOParameters=GPIO_PuPd PD12.GPIOParameters=GPIO_PuPd
PD12.GPIO_PuPd=GPIO_PULLUP PD12.GPIO_PuPd=GPIO_PULLUP
PD12.Signal=S_TIM4_CH1 PD12.Signal=S_TIM4_CH1
@ -209,12 +218,18 @@ SH.S_TIM4_CH1.0=TIM4_CH1,Encoder_Interface
SH.S_TIM4_CH1.ConfNb=1 SH.S_TIM4_CH1.ConfNb=1
SH.S_TIM4_CH2.0=TIM4_CH2,Encoder_Interface SH.S_TIM4_CH2.0=TIM4_CH2,Encoder_Interface
SH.S_TIM4_CH2.ConfNb=1 SH.S_TIM4_CH2.ConfNb=1
SH.S_TIM8_CH1.0=TIM8_CH1,Encoder_Interface
SH.S_TIM8_CH1.ConfNb=1
SH.S_TIM8_CH2.0=TIM8_CH2,Encoder_Interface
SH.S_TIM8_CH2.ConfNb=1
TIM4.EncoderMode=TIM_ENCODERMODE_TI12 TIM4.EncoderMode=TIM_ENCODERMODE_TI12
TIM4.IPParameters=EncoderMode TIM4.IPParameters=EncoderMode
TIM6.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE TIM6.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM6.IPParameters=Prescaler,Period,AutoReloadPreload TIM6.IPParameters=Prescaler,Period,AutoReloadPreload
TIM6.Period=1000-1 TIM6.Period=1000-1
TIM6.Prescaler=84-1 TIM6.Prescaler=84-1
TIM8.EncoderMode=TIM_ENCODERMODE_TI12
TIM8.IPParameters=EncoderMode
USART1.IPParameters=VirtualMode USART1.IPParameters=VirtualMode
USART1.VirtualMode=VM_ASYNC USART1.VirtualMode=VM_ASYNC
VP_FREERTOS_VS_CMSIS_V1.Mode=CMSIS_V1 VP_FREERTOS_VS_CMSIS_V1.Mode=CMSIS_V1

46
MDK-ARM/LWIP.uvoptx

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd"> <ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion> <SchemaVersion>1.0</SchemaVersion>
@ -45,7 +45,7 @@
<PageWidth>79</PageWidth> <PageWidth>79</PageWidth>
<PageLength>66</PageLength> <PageLength>66</PageLength>
<TabStop>8</TabStop> <TabStop>8</TabStop>
<ListingPath></ListingPath>
<ListingPath />
</OPTLEX> </OPTLEX>
<ListingPage> <ListingPage>
<CreateCListing>1</CreateCListing> <CreateCListing>1</CreateCListing>
@ -104,16 +104,16 @@
<bSchkAxf>0</bSchkAxf> <bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf> <bTchkAxf>0</bTchkAxf>
<nTsel>3</nTsel> <nTsel>3</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<sDll />
<sDllPa />
<sDlgDll />
<sDlgPa />
<sIfile />
<tDll />
<tDllPa />
<tDlgDll />
<tDlgPa />
<tIfile />
<pMon>BIN\CMSIS_AGDI.dll</pMon> <pMon>BIN\CMSIS_AGDI.dll</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
@ -133,7 +133,7 @@
<Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F407ZETx$CMSIS\Flash\STM32F4xx_512.FLM)</Name> <Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F407ZETx$CMSIS\Flash\STM32F4xx_512.FLM)</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/>
<Breakpoint />
<Tracepoint> <Tracepoint>
<THDelay>0</THDelay> <THDelay>0</THDelay>
</Tracepoint> </Tracepoint>
@ -163,19 +163,19 @@
<newCpu>0</newCpu> <newCpu>0</newCpu>
<uProt>0</uProt> <uProt>0</uProt>
</DebugFlag> </DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<LintExecutable />
<LintConfigFile />
<bLintAuto>0</bLintAuto> <bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD> <bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags> <LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<pMisraName />
<pszMrule />
<pSingCmds />
<pMultCmds />
<pMisraNamep />
<pszMrulep />
<pSingCmdsp />
<pMultCmdsp />
<DebugDescription> <DebugDescription>
<Enable>1</Enable> <Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq> <EnableFlashSeq>0</EnableFlashSeq>

1088
MDK-ARM/LWIP.uvprojx
File diff suppressed because it is too large
View File

3
Src/freertos.c

@ -156,8 +156,7 @@ void MX_FREERTOS_Init(void) {
void StartDefaultTask(void const * argument) void StartDefaultTask(void const * argument)
{ {
/* init code for LWIP */ /* init code for LWIP */
// MX_LWIP_Init();
MX_LWIP_STATIC_Init();
MX_LWIP_Init();
/* USER CODE BEGIN StartDefaultTask */ /* USER CODE BEGIN StartDefaultTask */
osThreadDef(mainTask, StartMainTask, osPriorityNormal, 0, 1024); osThreadDef(mainTask, StartMainTask, osPriorityNormal, 0, 1024);
mainTaskHandle = osThreadCreate(osThread(mainTask), NULL); mainTaskHandle = osThreadCreate(osThread(mainTask), NULL);

1
Src/main.c

@ -94,6 +94,7 @@ int main(void)
MX_TIM6_Init(); MX_TIM6_Init();
MX_USART1_UART_Init(); MX_USART1_UART_Init();
MX_TIM4_Init(); MX_TIM4_Init();
MX_TIM8_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
/* USER CODE END 2 */ /* USER CODE END 2 */

88
Src/tim.c

@ -26,6 +26,7 @@
TIM_HandleTypeDef htim4; TIM_HandleTypeDef htim4;
TIM_HandleTypeDef htim6; TIM_HandleTypeDef htim6;
TIM_HandleTypeDef htim8;
/* TIM4 init function */ /* TIM4 init function */
void MX_TIM4_Init(void) void MX_TIM4_Init(void)
@ -104,6 +105,51 @@ void MX_TIM6_Init(void)
/* USER CODE END TIM6_Init 2 */ /* USER CODE END TIM6_Init 2 */
} }
/* TIM8 init function */
void MX_TIM8_Init(void)
{
/* USER CODE BEGIN TIM8_Init 0 */
/* USER CODE END TIM8_Init 0 */
TIM_Encoder_InitTypeDef sConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
/* USER CODE BEGIN TIM8_Init 1 */
/* USER CODE END TIM8_Init 1 */
htim8.Instance = TIM8;
htim8.Init.Prescaler = 0;
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
htim8.Init.Period = 65535;
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim8.Init.RepetitionCounter = 0;
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
sConfig.IC1Filter = 0;
sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
sConfig.IC2Filter = 0;
if (HAL_TIM_Encoder_Init(&htim8, &sConfig) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM8_Init 2 */
/* USER CODE END TIM8_Init 2 */
}
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle) void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
{ {
@ -133,6 +179,30 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM4_MspInit 1 */ /* USER CODE END TIM4_MspInit 1 */
} }
else if(tim_encoderHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspInit 0 */
/* USER CODE END TIM8_MspInit 0 */
/* TIM8 clock enable */
__HAL_RCC_TIM8_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/**TIM8 GPIO Configuration
PC6 ------> TIM8_CH1
PC7 ------> TIM8_CH2
*/
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF3_TIM8;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* USER CODE BEGIN TIM8_MspInit 1 */
/* USER CODE END TIM8_MspInit 1 */
}
} }
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
@ -176,6 +246,24 @@ void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM4_MspDeInit 1 */ /* USER CODE END TIM4_MspDeInit 1 */
} }
else if(tim_encoderHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspDeInit 0 */
/* USER CODE END TIM8_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM8_CLK_DISABLE();
/**TIM8 GPIO Configuration
PC6 ------> TIM8_CH1
PC7 ------> TIM8_CH2
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);
/* USER CODE BEGIN TIM8_MspDeInit 1 */
/* USER CODE END TIM8_MspDeInit 1 */
}
} }
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)

Loading…
Cancel
Save