Bare Metal Programming Tool Kit
|
template for a buffered 8-bit open-collector port More...
#include <ports.h>
Public Types | |
typedef single_pin< 0 > | pin_0 |
pin 0, open-collector/input | |
typedef single_pin< 1 > | pin_1 |
pin 1, open-collector/input | |
typedef single_pin< 2 > | pin_2 |
pin 2, open-collector/input | |
typedef single_pin< 3 > | pin_3 |
pin 3, open-collector/input | |
typedef single_pin< 4 > | pin_4 |
pin 4, open-collector/input | |
typedef single_pin< 5 > | pin_5 |
pin 5, open-collector/input | |
typedef single_pin< 6 > | pin_6 |
pin 6, open-collector/input | |
typedef single_pin< 7 > | pin_7 |
pin 7, open-collector/input | |
Public Types inherited from bmptk::hardware::port_oc | |
enum | { type = type_port_oc } |
identify this type as a type_port_oc | |
enum | { features = has_none } |
this type has no additional fatures | |
Static Public Member Functions | |
static void | init () |
initialize the port as input | |
static void | set (unsigned int x) |
set the curret level on the pins in the port | |
static int | n_pins () |
return the number of pins in this port (8) | |
static unsigned int | get () |
get the current values of the pins in the port | |
Static Public Member Functions inherited from bmptk::hardware::port_oc | |
static void | init () |
initialize the port as input | |
static int | n_pins () |
the number of pins in the port, can be 0..32. | |
static void | set (unsigned int d) |
set the curret level on the pins in the port | |
static unsigned int | get () |
get the current values of the pins in the port | |
template for a buffered 8-bit open-collector port
This template must be instantiated with a port_buffered_oc_channel that implements the access to the chip that has the pins.
|
inlinestatic |
get the current values of the pins in the port
This method returns the current level on the pins that make up the port, encoded in the bits in the returned value. The value pin of pin N is returned in the Nth bit.When the level is a logic one (high voltage, Vdd) the bit in the returned value is 1, otherwise (logic zero, low level, Vss) the bit is 0.The init() method must be called first. Note that after setting a pin low(0) the pin will in all probability read as 0, so this call only makes realy sense for pins set high (1) call.
|
inlinestatic |
|
inlinestatic |
set the curret level on the pins in the port
This method sets the current level output by each pin that makes up the port, encoded in the bits in parameter value. The value pin of pin N is determined by the Nth bit.When the value is true a logic one (high voltage, Vdd) will appear on the pin, when the value if false a the pin will output a logic zero (low voltage, Vss).The init() method must be called first. Setting the pin to 0 causes the pin to be pulled low. Setting a pin to 1 causes the pin to float.