Main Page | Modules | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

BF51x/otPort.h File Reference

Parallel Port Library for BF51x. More...

#include "otdefs.h"

Defines

#define PPF_HST   (*_ppf[0])
 Port F Pad Control (Hysteresis) Register.
#define PPF_MUX   (*_ppf[1])
 Multiplexer Control Register.
#define PPF_FER   (*_ppf[2])
 Function Enable Registers.
#define PPF_DIR   (*_ppf[3])
 Direction Registers.
#define PPF_INE   (*_ppf[4])
 Input Enable Registers.
#define PPF_POL   (*_ppf[5])
 Polarity Registers.
#define PPF_EDG   (*_ppf[6])
 Interrupt Sensitivity Registers.
#define PPF_RSE   (*_ppf[7])
 Set on Both Edges Registers.
#define PPF_MKA   (*_ppf[8])
 Mask Interrupt A Registers.
#define PPF_MKB   (*_ppf[9])
 Mask Interrupt B Registers.
#define PPF_MSA   (*_ppf[10])
 Mask Interrupt A Set Registers.
#define PPF_MSB   (*_ppf[11])
 Mask Interrupt B Set Registers.
#define PPF_MCA   (*_ppf[12])
 Mask Interrupt A Clear Registers.
#define PPF_MCB   *_ppf[13]
 Mask Interrupt B Clear Registers.
#define PPF_MTA   (*_ppf[14])
 Mask Interrupt A Toggle Registers.
#define PPF_MTB   (*_ppf[15])
 Mask Interrupt B Toggle Registers.
#define PPF_SET   (*_ppf[16])
 GPIO Set Registers. Write 1 to set related bit.
#define PPF_CLR   (*_ppf[17])
 GPIO Clear Registers. Write 1 to clear related bit.
#define PPF_TGL   (*_ppf[18])
 GPIO Toggle Registers. Write 1 to toggle related bit.
#define PPF   (*_ppf[19])
 Port F Data Registers.
#define PPG_HST   *_ppg[0]
 Port G Pad Control (Hysteresis) Register.
#define PPG_MUX   *_ppg[1]
 Multiplexer Control Register.
#define PPG_FER   *_ppg[2]
 Function Enable Registers.
#define PPG_DIR   *_ppg[3]
 Direction Registers.
#define PPG_INE   *_ppg[4]
 Input Enable Registers.
#define PPG_POL   *_ppg[5]
 Polarity Registers.
#define PPG_EDG   *_ppg[6]
 Interrupt Sensitivity Registers.
#define PPG_RSE   *_ppg[7]
 Set on Both Edges Registers.
#define PPG_MKA   *_ppg[8]
 Mask Interrupt A Registers.
#define PPG_MKB   *_ppg[9]
 Mask Interrupt B Registers.
#define PPG_MSA   *_ppg[10]
 Mask Interrupt A Set Registers.
#define PPG_MSB   *_ppg[11]
 Mask Interrupt B Set Registers.
#define PPG_MCA   *_ppg[12]
 Mask Interrupt A Clear Registers.
#define PPG_MCB   *_ppg[13]
 Mask Interrupt B Clear Registers.
#define PPG_MTA   *_ppg[14]
 Mask Interrupt A Toggle Registers.
#define PPG_MTB   *_ppg[15]
 Mask Interrupt B Toggle Registers.
#define PPG_SET   *_ppg[16]
 GPIO Set Registers. Write 1 to set related bit.
#define PPG_CLR   *_ppg[17]
 GPIO Clear Registers. Write 1 to clear related bit.
#define PPG_TGL   *_ppg[18]
 GPIO Toggle Registers. Write 1 to toggle related bit.
#define PPG   *_ppg[19]
 Port G Data Registers.
#define PPH_HST   *_pph[0]
 Port H Pad Control (Hysteresis) Register.
.
#define PPH_MUX   *_pph[1]
 Multiplexer Control Register.
#define PPH_FER   *_pph[2]
 Function Enable Registers.
#define PPH_DIR   *_pph[3]
 Direction Registers.
#define PPH_INE   *_pph[4]
 Input Enable Registers.
#define PPH_POL   *_pph[5]
 Polarity Registers.
#define PPH_EDG   *_pph[6]
 Interrupt Sensitivity Registers.
#define PPH_RSE   *_pph[7]
 Set on Both Edges Registers.
#define PPH_MKA   *_pph[8]
 Mask Interrupt A Registers.
#define PPH_MKB   *_pph[9]
 Mask Interrupt B Registers.
#define PPH_MSA   *_pph[10]
 Mask Interrupt A Set Registers.
#define PPH_MSB   *_pph[11]
 Mask Interrupt B Set Registers.
#define PPH_MCA   *_pph[12]
 Mask Interrupt A Clear Registers.
#define PPH_MCB   *_pph[13]
 Mask Interrupt B Clear Registers.
#define PPH_MTA   *_pph[14]
 Mask Interrupt A Toggle Registers.
#define PPH_MTB   *_pph[15]
 Mask Interrupt B Toggle Registers.
#define PPH_SET   *_pph[16]
 GPIO Set Registers. Write 1 to set related bit.
#define PPH_CLR   *_pph[17]
 GPIO Clear Registers. Write 1 to clear related bit.
#define PPH_TGL   *_pph[18]
 GPIO Toggle Registers. Write 1 to toggle related bit.
#define PPH   *_pph[19]
 Port H Data Registers.

Enumerations

enum  PortId { PP_F, PP_G, PP_H }
 Port selection. More...
enum  PortConfig {
  P_OUT, P_IN, P_IN_H, P_FUN1,
  P_FUN2, P_FUN3
}
 Port mode selection. More...

Functions

void PortConfig (int portId, int bit, int function)
 Configure a bit (15:0) of a desidered port with a requested function, see PortConfig. Each port can be configured as INPUT, OUTPUT or FUNCTION.
void PortFastSwitch (int portId, int bit, int function)
 Switch a bit (15:0) of a desidered port as input (P_IN) or output (P_OUT). For correctness it is good to use this function after having used PortConfig at least once.
It is a quick way to change the bit of a port from input to output or vice versa.
It is used by the functions of SMBus.
void PortSet (int portId, int bit, bool set)
 Set or reset a bit on specified port.
void PortToggle (int portId, int bit)
 Toggle a bit on specified port.
bool PortGet (int portId, int bit)
 Read a bit on specified port.
void PortFSetInterruptService (int bit, void(*pCallback)(), bool rising)
 Configure an interrupt for a bit(s) on port F.
void PortFInterruptEnable (int bit, bool ena)
 Enable or Disable the interrupt by selected bit(s) on port F.
void PortGSetInterruptService (int bit, void(*pCallback)(), bool rising)
 Configure an interrupt for a bit(s) on port G.
void PortFSetInterruptBothEdges (int bit, bool both)
 Enable an interrupt for a bit(s) on port F on rising and falling edge.
void PortGSetInterruptBothEdges (int bit, bool both)
 Enable an interrupt for a bit(s) on port G on rising and falling edge.
void PortGInterruptEnable (int bit, bool ena)
 Enable or Disable the interrupt by selected bit(s) on port G.
void PortFClearInterrupt ()
 Clear the interrupt request on port F.
void PortGClearInterrupt ()
 Clear the interrupt request on port G.

Variables

volatile U16_ppf [20]
 Trick for C++ compatibility.
volatile U16_ppg [20]
 Trick for C++ compatibility.
volatile U16_pph [20]
 Trick for C++ compatibility.


Detailed Description

Version:
1.2.0
Author:
Manuele Turini
footer
otStudio - Library Reference - (C) 2020-23 Officina Turini, All Rights Reserved
Document built with Doxygen 1.4.0