Add gpio_get() API function.
This commit is contained in:
@@ -140,6 +140,7 @@
|
|||||||
void gpio_set_mode(u32 gpioport, u8 mode, u8 cnf, u16 gpios);
|
void gpio_set_mode(u32 gpioport, u8 mode, u8 cnf, u16 gpios);
|
||||||
void gpio_set(u32 gpioport, u16 gpios);
|
void gpio_set(u32 gpioport, u16 gpios);
|
||||||
void gpio_clear(u32 gpioport, u16 gpios);
|
void gpio_clear(u32 gpioport, u16 gpios);
|
||||||
|
u16 gpio_get(u32 gpioport, u16 gpios);
|
||||||
void gpio_toggle(u32 gpioport, u16 gpios);
|
void gpio_toggle(u32 gpioport, u16 gpios);
|
||||||
u16 gpio_port_read(u32 gpioport);
|
u16 gpio_port_read(u32 gpioport);
|
||||||
void gpio_port_write(u32 gpioport, u16 data);
|
void gpio_port_write(u32 gpioport, u16 data);
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
* GPIO_CNF_OUTPUT_PUSHPULL, GPIO12);
|
* GPIO_CNF_OUTPUT_PUSHPULL, GPIO12);
|
||||||
* gpio_set(GPIOB, GPIO4);
|
* gpio_set(GPIOB, GPIO4);
|
||||||
* gpio_clear(GPIOG, GPIO2 | GPIO9);
|
* gpio_clear(GPIOG, GPIO2 | GPIO9);
|
||||||
|
* gpio_get(GPIOC, GPIO1);
|
||||||
* gpio_toggle(GPIOA, GPIO7);
|
* gpio_toggle(GPIOA, GPIO7);
|
||||||
* reg16 = gpio_port_read(GPIOD);
|
* reg16 = gpio_port_read(GPIOD);
|
||||||
* gpio_port_write(GPIOF, 0xc8fe);
|
* gpio_port_write(GPIOF, 0xc8fe);
|
||||||
@@ -66,6 +67,11 @@ void gpio_clear(u32 gpioport, u16 gpios)
|
|||||||
GPIO_BRR(gpioport) = gpios;
|
GPIO_BRR(gpioport) = gpios;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u16 gpio_get(u32 gpioport, u16 gpios)
|
||||||
|
{
|
||||||
|
return gpio_port_read(gpioport) & gpios;
|
||||||
|
}
|
||||||
|
|
||||||
/* TODO: Should work for multiple GPIOs? */
|
/* TODO: Should work for multiple GPIOs? */
|
||||||
void gpio_toggle(u32 gpioport, u16 gpio)
|
void gpio_toggle(u32 gpioport, u16 gpio)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user