mirror of https://github.com/ARMmbed/mbed-os.git
parent
415f975587
commit
6f654ea6aa
|
@ -115,7 +115,8 @@ int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32
|
||||||
obj->irq_n = PORT3_IRQn;
|
obj->irq_n = PORT3_IRQn;
|
||||||
|
|
||||||
obj->pin = pin;
|
obj->pin = pin;
|
||||||
|
obj->event = EDGE_NONE;
|
||||||
|
|
||||||
// Enable EXTI interrupt
|
// Enable EXTI interrupt
|
||||||
NVIC_ClearPendingIRQ(obj->irq_n);
|
NVIC_ClearPendingIRQ(obj->irq_n);
|
||||||
NVIC_EnableIRQ(obj->irq_n);
|
NVIC_EnableIRQ(obj->irq_n);
|
||||||
|
@ -145,7 +146,6 @@ void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable)
|
||||||
obj->rise_null = 0;
|
obj->rise_null = 0;
|
||||||
}
|
}
|
||||||
else if (event == IRQ_FALL) {
|
else if (event == IRQ_FALL) {
|
||||||
//gpio->INTPOLSET &= ~obj->pin_index;
|
|
||||||
gpio->INTPOLCLR |= obj->pin_index;
|
gpio->INTPOLCLR |= obj->pin_index;
|
||||||
obj->event = EDGE_FALL;
|
obj->event = EDGE_FALL;
|
||||||
obj->fall_null = 0;
|
obj->fall_null = 0;
|
||||||
|
|
|
@ -119,29 +119,25 @@ void pin_mode(PinName pin, PinMode pupd)
|
||||||
|
|
||||||
switch(port_num) {
|
switch(port_num) {
|
||||||
case PortA:
|
case PortA:
|
||||||
if(pupd != 0)
|
if(pupd != 0) {
|
||||||
{
|
|
||||||
PA_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
PA_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
||||||
}
|
}
|
||||||
PA_PCR->Port[pin_num] |= pupd;
|
PA_PCR->Port[pin_num] |= pupd;
|
||||||
break;
|
break;
|
||||||
case PortB:
|
case PortB:
|
||||||
if(pupd != 0)
|
if(pupd != 0) {
|
||||||
{
|
|
||||||
PB_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
PB_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
||||||
}
|
}
|
||||||
PB_PCR->Port[pin_num] |= pupd;
|
PB_PCR->Port[pin_num] |= pupd;
|
||||||
break;
|
break;
|
||||||
case PortC:
|
case PortC:
|
||||||
if(pupd != 0)
|
if(pupd != 0) {
|
||||||
{
|
|
||||||
PC_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
PC_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
||||||
}
|
}
|
||||||
PC_PCR->Port[pin_num] |= pupd;
|
PC_PCR->Port[pin_num] |= pupd;
|
||||||
break;
|
break;
|
||||||
case PortD:
|
case PortD:
|
||||||
if(pupd != 0)
|
if(pupd != 0) {
|
||||||
{
|
|
||||||
PD_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
PD_PCR->Port[pin_num] &= 0xFFFFFFFC;
|
||||||
}
|
}
|
||||||
PD_PCR->Port[pin_num] |= pupd;
|
PD_PCR->Port[pin_num] |= pupd;
|
||||||
|
|
Loading…
Reference in New Issue