Record TGPIO

Unit

Declaração

type TGPIO = record

Descrição

Este record representa um GPIO acessado a partir da classe TPasRipherals

Visão Geral

Campos

FGPIONumber: TGPIONumber;
FPasRipherals: TCustomPasRipherals;

Métodos

function GetLevel: TGPIOLevel;
function GetMode: TGPIOMode;
function GetModeDescription: String;
function RegisterGPCLR: PUInt32;
function RegisterGPFSEL: PUInt32;
function RegisterGPLEV: PUInt32;
function RegisterGPPUD: PUInt32;
function RegisterGPPUDCLK: PUInt32;
function RegisterGPSET: PUInt32;
function _10FieldRegisterGroupIndex: UInt8;
function _1BitFieldIndex: UInt8;
function _1BitFieldValue: UInt32;
function _32FieldRegisterGroupIndex: UInt8;
procedure SetLevel(AGPIOLevel: TGPIOLevel);
procedure SetMode(AGPIOMode: TGPIOMode);
procedure SetPullRegister(AGPIOPullRegister: TGPIOPullRegister);

Properties

property Level: TGPIOLevel read GetLevel write SetLevel;
property Mode: TGPIOMode read GetMode write SetMode;
property ModeDescription: String read GetModeDescription;
property PullRegister: TGPIOPullRegister write SetPullRegister;

Descrição

Campos

FGPIONumber: TGPIONumber;
 
FPasRipherals: TCustomPasRipherals;
 

Métodos

function GetLevel: TGPIOLevel;
 
function GetMode: TGPIOMode;
 
function GetModeDescription: String;
 
function RegisterGPCLR: PUInt32;

Esta função retorna um ponteiro para um dos registradores GPCLR. A seleção do registrador correto é automática e depende do número do GPIO atual

function RegisterGPFSEL: PUInt32;

Esta função retorna um ponteiro para um dos registradores GPFSEL. A seleção do registrador correto é automática e depende do número do GPIO atual

function RegisterGPLEV: PUInt32;

Esta função retorna um ponteiro para um dos registradores GPLEV. A seleção do registrador correto é automática e depende do número do GPIO atual

function RegisterGPPUD: PUInt32;

Esta função retorna um ponteiro para o registrador GPPUD

function RegisterGPPUDCLK: PUInt32;

Esta função retorna um ponteiro para um dos registradores GPPUDCLK. A seleção do registrador correto é automática e depende do número do GPIO atual

function RegisterGPSET: PUInt32;

Esta função retorna um ponteiro para um dos registradores GPSET. A seleção do registrador correto é automática e depende do número do GPIO atual

function _10FieldRegisterGroupIndex: UInt8;

Esta função é responsável por selecionar um dos registradores, no caso de haver mais de um desses registradores por funcionalidade, quando a informação contida nestes é de exatamente 3 bits por GPIO, que em outras palavras faz com que o registrador tenha 10 campos (um para cada GPIO). Por exemplo, existem seis registradores que contém os modos de operação de cada GPIO, logo, esta função retorna um número de 0 a n-1, onde n é a quantidade de registradores que forma o conjunto, no caso 6, logo, para este caso, esta função retorna um valor comprendido entre 0 e 5.

See also
_32FieldRegisterGroupIndex
Esta função é responsável por selecionar um dos registradores, no caso de haver mais de um desses registradores por funcionalidade, quando a informação contida nestes é de exatamente 1 bit por GPIO, que em outras palavras faz com que o registrador tenha 32 campos (um para cada GPIO).
function _1BitFieldIndex: UInt8;

Esta função é responsvel por selecionar um dos campos dentro de um registrador, quando cada campo tem exatamente um bit de tamanho. Como todos os registradores do RPI tem 32 bits, esta função retorna um valor de 0 a 31 sempre.

function _1BitFieldValue: UInt32;

Esta função retorna o valor que corresponde ao número binário formado pelo bit ligado na posição indicada em _1BitFieldIndex, por exemplo, se FGPIONumber = 18, _1BitFieldIndex = 18 e _1BitFieldValue, em notação binária, é um 1, seguido de 18 zeros, que corresponde a 262.144 decimal.

function _32FieldRegisterGroupIndex: UInt8;

Esta função é responsável por selecionar um dos registradores, no caso de haver mais de um desses registradores por funcionalidade, quando a informação contida nestes é de exatamente 1 bit por GPIO, que em outras palavras faz com que o registrador tenha 32 campos (um para cada GPIO). Por exemplo, existem dois registradores que contém os níveis lógicos de cada GPIO, logo, esta função retorna um número de 0 a n-1, onde n é a quantidade de registradores que forma o conjunto, no caso 2, logo, para este caso, esta função retorna 0 ou 1.

Esta função leva em conta que a informação referente ao GPIO dentro do registrador selecionado, ocupa apenas 1 bit deste. Isso é verdade para os registradores GPSET, GPCLR, GPLEV, GPED, GPREN, GPFEN, GPHEN, GPLEN, GPAREN, GPAFEN e GPPUDCLK. Em todos eles, cada um dos GPIO é representado por apenas um bit, pois a informação é apenas 0 ou 1 (False ou True). Este método, portanto, não pode ser usado para seleção de um dos registradores GPFSEL, pois nestes, cada GPIO precisa de 3 bits, logo, a função para obtenção do grupo correto a partir do número do GPIO é diferente

See also
_10FieldRegisterGroupIndex
Esta função é responsável por selecionar um dos registradores, no caso de haver mais de um desses registradores por funcionalidade, quando a informação contida nestes é de exatamente 3 bits por GPIO, que em outras palavras faz com que o registrador tenha 10 campos (um para cada GPIO).
procedure SetLevel(AGPIOLevel: TGPIOLevel);
 
procedure SetMode(AGPIOMode: TGPIOMode);
 
procedure SetPullRegister(AGPIOPullRegister: TGPIOPullRegister);
 

Properties

property Level: TGPIOLevel read GetLevel write SetLevel;

Obtém ou configura o nível lógico do GPIO atual.

See also
TGPIOLevel
Esta enumeração representa os dois possíveis níveis lógicos que cada GPIO pode assumir ou detectar
property Mode: TGPIOMode read GetMode write SetMode;

Obtém ou configura o modo do GPIO atual.

See also
TGPIOMode
Esta enumeração lista todos os possíveis modos dos GPIOs.
property ModeDescription: String read GetModeDescription;

Obtém a descrição textual do modo de operação do GPIO atual.

See also
TGPIOMode
Esta enumeração lista todos os possíveis modos dos GPIOs.
property PullRegister: TGPIOPullRegister write SetPullRegister;

Configura o resistor de pull do GPIO atual. Não é possível ler a partir do RPI o estado dos resistores pull, por isso esta propriedade é somente de escrita. É responsabilidade do programador manter alguma variável que indique qual configuração de resistor de pull está sendo usada, pois o PasRipherals não realiza este controle.

See also
TGPIOPullRegister
Esta enumeração representa os possíveis estados dos "resistores pull" associados a cada GPIO.

Gerado por PasDoc 0.15.0.