git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5417 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
1c0fb671da
commit
5bda88234e
|
@ -180,7 +180,7 @@ void ext_lld_channel_enable(EXTDriver *extp, expchannel_t channel) {
|
||||||
EXT_MODE_GPIO_OFF) << ((channel & 3) * 4);
|
EXT_MODE_GPIO_OFF) << ((channel & 3) * 4);
|
||||||
|
|
||||||
#if defined(STM32L1XX_MD) || defined(STM32F0XX) || defined(STM32F2XX) || \
|
#if defined(STM32L1XX_MD) || defined(STM32F0XX) || defined(STM32F2XX) || \
|
||||||
defined(STM32F30X) || defined(STM32F4XX)
|
defined(STM32F30X) || defined(STM32F37X) || defined(STM32F4XX)
|
||||||
SYSCFG->EXTICR[n] = (SYSCFG->EXTICR[n] & mask) | port;
|
SYSCFG->EXTICR[n] = (SYSCFG->EXTICR[n] & mask) | port;
|
||||||
#else /* STM32F1XX */
|
#else /* STM32F1XX */
|
||||||
AFIO->EXTICR[n] = (AFIO->EXTICR[n] & mask) | port;
|
AFIO->EXTICR[n] = (AFIO->EXTICR[n] & mask) | port;
|
||||||
|
|
|
@ -293,14 +293,12 @@ CH_IRQ_HANDLER(Vector140) {
|
||||||
|
|
||||||
CH_IRQ_PROLOGUE();
|
CH_IRQ_PROLOGUE();
|
||||||
|
|
||||||
pr = EXTI->PR & ((1 << 21) | (1 << 22) | (1 << 23));
|
pr = EXTI->PR & ((1 << 21) | (1 << 22));
|
||||||
EXTI->PR = pr;
|
EXTI->PR = pr;
|
||||||
if (pr & (1 << 21))
|
if (pr & (1 << 21))
|
||||||
EXTD1.config->channels[21].cb(&EXTD1, 21);
|
EXTD1.config->channels[21].cb(&EXTD1, 21);
|
||||||
if (pr & (1 << 22))
|
if (pr & (1 << 22))
|
||||||
EXTD1.config->channels[22].cb(&EXTD1, 22);
|
EXTD1.config->channels[22].cb(&EXTD1, 22);
|
||||||
if (pr & (1 << 23))
|
|
||||||
EXTD1.config->channels[23].cb(&EXTD1, 23);
|
|
||||||
|
|
||||||
CH_IRQ_EPILOGUE();
|
CH_IRQ_EPILOGUE();
|
||||||
}
|
}
|
||||||
|
@ -341,8 +339,8 @@ void ext_lld_exti_irq_enable(void) {
|
||||||
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI19_IRQ_PRIORITY));
|
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI19_IRQ_PRIORITY));
|
||||||
nvicEnableVector(RTC_WKUP_IRQn,
|
nvicEnableVector(RTC_WKUP_IRQn,
|
||||||
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI20_IRQ_PRIORITY));
|
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI20_IRQ_PRIORITY));
|
||||||
nvicEnableVector(COMP1_2_3_IRQn,
|
nvicEnableVector(COMP_IRQn,
|
||||||
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI21_22_29_IRQ_PRIORITY));
|
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI21_22_IRQ_PRIORITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -364,7 +362,7 @@ void ext_lld_exti_irq_disable(void) {
|
||||||
nvicDisableVector(USBWakeUp_IRQn);
|
nvicDisableVector(USBWakeUp_IRQn);
|
||||||
nvicDisableVector(TAMPER_STAMP_IRQn);
|
nvicDisableVector(TAMPER_STAMP_IRQn);
|
||||||
nvicDisableVector(RTC_WKUP_IRQn);
|
nvicDisableVector(RTC_WKUP_IRQn);
|
||||||
nvicDisableVector(COMP1_2_3_IRQn);
|
nvicDisableVector(COMP_IRQn);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* HAL_USE_EXT */
|
#endif /* HAL_USE_EXT */
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
* @brief EXTI21..22 interrupt priority level setting.
|
* @brief EXTI21..22 interrupt priority level setting.
|
||||||
*/
|
*/
|
||||||
#if !defined(STM32_EXT_EXTI21_22_IRQ_PRIORITY) || defined(__DOXYGEN__)
|
#if !defined(STM32_EXT_EXTI21_22_IRQ_PRIORITY) || defined(__DOXYGEN__)
|
||||||
#define STM32_EXT_EXTI21_22_IRQ_PRIORITY 6
|
#define STM32_EXT_EXTI21_22_IRQ_PRIORITY 6
|
||||||
#endif
|
#endif
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F37x/stm32_dma.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32F37x/hal_lld.c \
|
${CHIBIOS}/os/hal/platforms/STM32F37x/hal_lld.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32F37x/ext_lld_isr.c \
|
${CHIBIOS}/os/hal/platforms/STM32F37x/ext_lld_isr.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
|
${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
|
||||||
|
${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32/gpt_lld.c \
|
${CHIBIOS}/os/hal/platforms/STM32/gpt_lld.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32/icu_lld.c \
|
${CHIBIOS}/os/hal/platforms/STM32/icu_lld.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32/pwm_lld.c \
|
${CHIBIOS}/os/hal/platforms/STM32/pwm_lld.c \
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
static void led5off(void *arg) {
|
static void led5off(void *arg) {
|
||||||
|
|
||||||
(void)arg;
|
(void)arg;
|
||||||
palClearPad(GPIOE, GPIOE_LED10_RED);
|
palClearPad(GPIOC, GPIOC_LED1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Triggered when the button is pressed or released. The LED5 is set to ON.*/
|
/* Triggered when the button is pressed or released. The LED5 is set to ON.*/
|
||||||
|
@ -34,7 +34,7 @@ static void extcb1(EXTDriver *extp, expchannel_t channel) {
|
||||||
(void)extp;
|
(void)extp;
|
||||||
(void)channel;
|
(void)channel;
|
||||||
|
|
||||||
palSetPad(GPIOE, GPIOE_LED10_RED);
|
palSetPad(GPIOC, GPIOC_LED1);
|
||||||
chSysLockFromIsr();
|
chSysLockFromIsr();
|
||||||
if (chVTIsArmedI(&vt4))
|
if (chVTIsArmedI(&vt4))
|
||||||
chVTResetI(&vt4);
|
chVTResetI(&vt4);
|
||||||
|
|
Loading…
Reference in New Issue