RISC-V/V203/hello/linux/gpio.h

38 lines
820 B
C
Raw Normal View History

2024-08-17 14:27:07 +02:00
#ifndef _GPIO_CLASS_H_
#define _GPIO_CLASS_H_
#include <stdint.h>
enum GPIO_MODE : uint32_t {
GPIO_Speed_In = 0u,
GPIO_Speed_10MHz = 1u,
GPIO_Speed_2MHz = 2u,
GPIO_Speed_50MHz = 3u,
};
enum GPIO_CNF : uint32_t {
GPIO_AI_PPO = 0u,
GPIO_FI_ODO = 1u << 2,
GPIO_UPDI_MPPO = 2u << 2,
GPIO_none_MPDO = 3u << 2,
};
enum GPIOPuPd_TypeDef {
GPIO_PuPd_NOPULL = 0x00,
GPIO_PuPd_UP = 0x01,
GPIO_PuPd_DOWN = 0x02
};
static constexpr uint32_t GPIOA = 0u;
class GpioClass {
//const uint32_t pin;
public:
explicit constexpr GpioClass (const uint32_t _pin, const uint32_t _mode = GPIO_AI_PPO) noexcept
{
}
void operator<< (const bool b) const {
}
operator bool () const {
return false;
}
void setPuPd (GPIOPuPd_TypeDef p) {
}
};
#endif // _GPIO_CLASS_H_