git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5417 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2013-03-12 13:15:12 +00:00
parent 1c0fb671da
commit 5bda88234e
5 changed files with 9 additions and 10 deletions

View File

@ -180,7 +180,7 @@ void ext_lld_channel_enable(EXTDriver *extp, expchannel_t channel) {
EXT_MODE_GPIO_OFF) << ((channel & 3) * 4);
#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;
#else /* STM32F1XX */
AFIO->EXTICR[n] = (AFIO->EXTICR[n] & mask) | port;

View File

@ -293,14 +293,12 @@ CH_IRQ_HANDLER(Vector140) {
CH_IRQ_PROLOGUE();
pr = EXTI->PR & ((1 << 21) | (1 << 22) | (1 << 23));
pr = EXTI->PR & ((1 << 21) | (1 << 22));
EXTI->PR = pr;
if (pr & (1 << 21))
EXTD1.config->channels[21].cb(&EXTD1, 21);
if (pr & (1 << 22))
EXTD1.config->channels[22].cb(&EXTD1, 22);
if (pr & (1 << 23))
EXTD1.config->channels[23].cb(&EXTD1, 23);
CH_IRQ_EPILOGUE();
}
@ -341,8 +339,8 @@ void ext_lld_exti_irq_enable(void) {
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI19_IRQ_PRIORITY));
nvicEnableVector(RTC_WKUP_IRQn,
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI20_IRQ_PRIORITY));
nvicEnableVector(COMP1_2_3_IRQn,
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI21_22_29_IRQ_PRIORITY));
nvicEnableVector(COMP_IRQn,
CORTEX_PRIORITY_MASK(STM32_EXT_EXTI21_22_IRQ_PRIORITY));
}
/**
@ -364,7 +362,7 @@ void ext_lld_exti_irq_disable(void) {
nvicDisableVector(USBWakeUp_IRQn);
nvicDisableVector(TAMPER_STAMP_IRQn);
nvicDisableVector(RTC_WKUP_IRQn);
nvicDisableVector(COMP1_2_3_IRQn);
nvicDisableVector(COMP_IRQn);
}
#endif /* HAL_USE_EXT */

View File

@ -131,7 +131,7 @@
* @brief EXTI21..22 interrupt priority level setting.
*/
#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
/** @} */

View File

@ -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/ext_lld_isr.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/icu_lld.c \
${CHIBIOS}/os/hal/platforms/STM32/pwm_lld.c \

View File

@ -24,7 +24,7 @@
static void led5off(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.*/
@ -34,7 +34,7 @@ static void extcb1(EXTDriver *extp, expchannel_t channel) {
(void)extp;
(void)channel;
palSetPad(GPIOE, GPIOE_LED10_RED);
palSetPad(GPIOC, GPIOC_LED1);
chSysLockFromIsr();
if (chVTIsArmedI(&vt4))
chVTResetI(&vt4);