Core/Inc/main.h | ●●●●● patch | view | raw | blame | history | |
Core/Inc/stm32l4xx_hal_conf.h | ●●●●● patch | view | raw | blame | history | |
Core/Inc/stm32l4xx_it.h | ●●●●● patch | view | raw | blame | history | |
Core/Src/board/miscdev.c | ●●●●● patch | view | raw | blame | history | |
Core/Src/gpio.c | ●●●●● patch | view | raw | blame | history | |
Core/Src/main.c | ●●●●● patch | view | raw | blame | history | |
Core/Src/stm32l4xx_it.c | ●●●●● patch | view | raw | blame | history | |
ISKBoard.ioc | ●●●●● patch | view | raw | blame | history |
Core/Inc/main.h
@@ -57,6 +57,15 @@ /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ #define Key1_Pin GPIO_PIN_12 #define Key1_GPIO_Port GPIOB #define Key1_EXTI_IRQn EXTI15_10_IRQn #define Key2_Pin GPIO_PIN_13 #define Key2_GPIO_Port GPIOB #define Key2_EXTI_IRQn EXTI15_10_IRQn #define Key3_Pin GPIO_PIN_14 #define Key3_GPIO_Port GPIOB #define Key3_EXTI_IRQn EXTI15_10_IRQn /* USER CODE BEGIN Private defines */ Core/Inc/stm32l4xx_hal_conf.h
@@ -182,7 +182,7 @@ */ #define VDD_VALUE 3300U /*!< Value of VDD in mv */ #define TICK_INT_PRIORITY 15U /*!< tick interrupt priority */ #define TICK_INT_PRIORITY 1U /*!< tick interrupt priority */ #define USE_RTOS 0U #define PREFETCH_ENABLE 0U #define INSTRUCTION_CACHE_ENABLE 1U Core/Inc/stm32l4xx_it.h
@@ -55,6 +55,7 @@ void DebugMon_Handler(void); void PendSV_Handler(void); void SysTick_Handler(void); void EXTI15_10_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ Core/Src/board/miscdev.c
@@ -130,3 +130,26 @@ return leds[which].status; } /* *+----------------------+ *| GPIO Key API | *+----------------------+ */ #include "main.h" /* Key1_pin, Key2_Pin, Key3_Pin 定义在该头文件下 */ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if( Key1_Pin == GPIO_Pin ) { blink_led( Led_R, 500 ); } else if( Key2_Pin == GPIO_Pin ) { blink_led( Led_G, 500 ); } else if( Key3_Pin == GPIO_Pin ) { blink_led( Led_B, 500 ); } } Core/Src/gpio.c
@@ -66,6 +66,12 @@ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /*Configure GPIO pins : Key1_Pin Key2_Pin Key3_Pin */ GPIO_InitStruct.Pin = Key1_Pin|Key2_Pin|Key3_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /*Configure GPIO pins : PC6 PC9 */ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; @@ -80,6 +86,10 @@ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI15_10_IRQn, 2, 0); HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); } /* USER CODE BEGIN 2 */ Core/Src/main.c
@@ -99,20 +99,7 @@ /* USER CODE BEGIN WHILE */ while (1) { /* Blink Red Led */ turn_led(Led_R, ON); HAL_Delay(200); turn_led(Led_R, OFF); HAL_Delay(200); /* Blink Green Led */ toggle_led(Led_G); HAL_Delay(200); toggle_led(Led_G); HAL_Delay(200); /* Blink Blue Led */ blink_led(Led_B, 200); HAL_Delay(5000); /* USER CODE END WHILE */ Core/Src/stm32l4xx_it.c
@@ -198,6 +198,22 @@ /* please refer to the startup file (startup_stm32l4xx.s). */ /******************************************************************************/ /** * @brief This function handles EXTI line[15:10] interrupts. */ void EXTI15_10_IRQHandler(void) { /* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(Key1_Pin); HAL_GPIO_EXTI_IRQHandler(Key2_Pin); HAL_GPIO_EXTI_IRQHandler(Key3_Pin); /* USER CODE BEGIN EXTI15_10_IRQn 1 */ /* USER CODE END EXTI15_10_IRQn 1 */ } /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ ISKBoard.ioc
@@ -3,6 +3,7 @@ CAD.pinconfig= CAD.provider= File.Version=6 GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false Mcu.CPN=STM32L431RCT6 Mcu.Family=STM32L4 @@ -15,11 +16,14 @@ Mcu.Pin0=PH0-OSC_IN (PH0) Mcu.Pin1=PH1-OSC_OUT (PH1) Mcu.Pin2=PB2 Mcu.Pin3=PC6 Mcu.Pin4=PC9 Mcu.Pin5=PD2 Mcu.Pin6=VP_SYS_VS_Systick Mcu.PinsNb=7 Mcu.Pin3=PB12 Mcu.Pin4=PB13 Mcu.Pin5=PB14 Mcu.Pin6=PC6 Mcu.Pin7=PC9 Mcu.Pin8=PD2 Mcu.Pin9=VP_SYS_VS_Systick Mcu.PinsNb=10 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32L431RCTx @@ -27,6 +31,7 @@ MxDb.Version=DB.6.0.150 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.EXTI15_10_IRQn=true\:2\:0\:true\:false\:true\:true\:true\: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 @@ -34,8 +39,23 @@ NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false NVIC.SysTick_IRQn=true\:1\:0\:true\:false\:true\:false\:true\:false NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false PB12.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI PB12.GPIO_Label=Key1 PB12.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING PB12.Locked=true PB12.Signal=GPXTI12 PB13.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI PB13.GPIO_Label=Key2 PB13.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING PB13.Locked=true PB13.Signal=GPXTI13 PB14.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI PB14.GPIO_Label=Key3 PB14.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING PB14.Locked=true PB14.Signal=GPXTI14 PB2.GPIOParameters=PinState PB2.Locked=true PB2.PinState=GPIO_PIN_SET @@ -133,6 +153,12 @@ RCC.VCOInputFreq_Value=8000000 RCC.VCOOutputFreq_Value=160000000 RCC.VCOSAI1OutputFreq_Value=64000000 SH.GPXTI12.0=GPIO_EXTI12 SH.GPXTI12.ConfNb=1 SH.GPXTI13.0=GPIO_EXTI13 SH.GPXTI13.ConfNb=1 SH.GPXTI14.0=GPIO_EXTI14 SH.GPXTI14.ConfNb=1 VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick board=custom