É necessário para processar o texto. Não vou recusar ajuda :)
Biblioteca de controle de tensão Arduino.
A classe é modelo e usa 1 parâmetro: uint8_t _id = 0 . O primeiro parâmetro não compulsório transparentemente transmite uint8_t aos frascos causados, o que permite identificar a classe ao usar várias cópias da classe por balão. Por exemplo, LEITURA DE PIN ADC:
VoltageControl < A1 > Volt1 ;
VoltageControl < A2 > Volt2 ;
//...
Volt1 . SetRequest ( OnRequestVoltage );
Volt2 . SetRequest ( OnRequestVoltage );
//...
int32_t OnRequestVoltage ( uint8_t id )
{
return analogRead ( id );
}Por conveniência, a turma tem dois designers.
` VoltageControl ()` Designer de classe sem parâmetros. Quando usado, é necessário para transmitir as configurações através dos métodos Set .
VoltageControl ( request_t callback_req , uint16_t interval_req , response_t callback_res , bool once , uint32_t coefficient , int32_t vmin , int32_t vmax )Designer de classe indicando todas as configurações.
SetResponse() , o coeficiente de tradução do valor do ACP, a tensão mínima permitida, a tensão permitida máxima. int32_t OnRequestVoltage ( uint8_t id ) Quando a classe for necessária para ler o valor do ADC, essa função de frasco será causada. Você pode executar ou integrar o método de leitura do ADC ( analogRead() ), trabalhar diretamente com registros ou ler um ADC externo para qualquer pneu disponível.
void OnResponseVoltage ( uint8_t id , int32_t value , int8_t state )Quando você precisa notificar o programa principal sobre as alterações, essa função de tanque será um intercâmbio. Você pode decidir sobre a ramificação do código e cumprir tudo o que precisa aqui.
GetValid() . void SetRequest ( request_t callback , uint16_t interval )O método indica uma função de tanque de leitura ADC.
void SetResponse ( response_t callback , bool once = false) O método indica uma medição de tensão do resultado da medição de tensão. Se once = true , uma chamada de uma taxa de flacidez de funções ocorrerá apenas quando a condição for alterada (reduzida, aumentada, tensão normal); caso contrário, o desafio ocorrerá em cada medição do ADC.
void SetCoefficient ( uint32_t coefficient )O método determina o coeficiente de tradução do valor ACP para microondas.
void SetMin ( uint32_t vmin )O método determina a tensão mínima permitida.
void SetMax ( uint32_t vmax )O método determina a tensão máxima permitida.
void SetStart ()O método define o sinalizador de partida da classe.
void SetStop ()O método define o sinalizador de parada da classe.
int8_t GetValid ()O método verifica a tensão e retorna o resultado na forma de um número.
-1 é menor que permitido, 0 - na estrutura de permissível, 1 - mais permitido. int32_t GetVoltage ()O método retorna a tensão atual.
void Processing ( uint32_t currentTime = millis ()) Método de processamento de números. No caso de seu loop ter uma definição do horário atual, é mais aconselhável passar desta vez como um parâmetro.
static inline uint32_t GetCoefficient ( float vref , float r1 = 0 , float r2 = 1 , float quantization = 1024 ) O utilitário que ajuda a calcular o coeficiente para SetCoefficient() . Se o divisor não for usado, apenas o VREF será indicado.