Files
2024-07-20 22:09:06 +08:00

47 lines
718 B
C++

/*
* gpio.cpp
*
* Created: 20/1/2016 11:57:21
* Author: akatran
*/
//#include "gpio_helper.h"
#include "gpio.h"
#include <stdlib.h>
void GPIO::open(int port, int DDR)
{
uint8_t pin;
PORT_t* p = GPIO_getPort(port, &pin);
if (DDR == 0) {
p->DIRCLR = pin;
} else if (DDR == 1) {
p->DIRSET = pin;
}
}
void GPIO::close(int port)
{
// Nothing to do with close;
}
int read(int port)
{
uint8_t pin;
PORT_t* p = GPIO_getPort(port, &pin);
return p->IN;
}
void GPIO::write(int port, int value)
{
uint8_t pin;
PORT_t* p = GPIO_getPort(port, &pin);
if (value == 0) {
p->OUTCLR = pin;
} else if (value == 1) {
p->OUTSET = pin;
}
}