VoltageControl
1.0.0
需要处理文本。我不会拒绝帮助:)
Arduino电压控制库。
该类是模板,使用1个参数: uint8_t _id = 0 。第一个非组合参数透明地将uint8_t值传达给了引起的烧瓶,这使您可以在每瓶使用几个类的副本时识别类。例如,PIN读取ADC:
VoltageControl < A1 > Volt1 ;
VoltageControl < A2 > Volt2 ;
//...
Volt1 . SetRequest ( OnRequestVoltage );
Volt2 . SetRequest ( OnRequestVoltage );
//...
int32_t OnRequestVoltage ( uint8_t id )
{
return analogRead ( id );
}为了方便起见,班上有两位设计师。
` VoltageControl ()`没有参数的类设计师。使用时,需要通过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 )类设计师指示所有设置。
SetResponse()的描述,ACP值的翻译系数,最小允许电压的最小允许电压,最大允许电压。 int32_t OnRequestVoltage ( uint8_t id )当课程读取ADC的值时,将引起此烧瓶功能。您可以执行或集成的读取ADC( analogRead() )的方法,直接与寄存器一起使用,也可以为任何可用的轮胎读取外部ADC。
void OnResponseVoltage ( uint8_t id , int32_t value , int8_t state )当您需要通知主要程序有关更改的主题时,此坦克功能将是交换。您可以决定代码的分支,并在此处完成所需的一切。
GetValid()的描述。 void SetRequest ( request_t callback , uint16_t interval )该方法表示读取ADC的储罐功能。
void SetResponse ( response_t callback , bool once = false)该方法表示电压测量结果的电压测量结果。如果once = true ,则只有在更改条件(减少,增加,正常电压)时,会发生呼叫功能的呼叫,否则挑战将在ADC的每次测量中发生。
void SetCoefficient ( uint32_t coefficient )该方法确定了将ACP值转换为微波的系数。
void SetMin ( uint32_t vmin )该方法确定最小允许电压。
void SetMax ( uint32_t vmax )该方法确定最大允许电压。
void SetStart ()该方法设置了类启动标志。
void SetStop ()该方法设置了类停止标志。
int8_t GetValid ()该方法检查电压并以数字形式返回结果。
-1少于允许的0 1 。 int32_t GetVoltage ()该方法返回当前电压。
void Processing ( uint32_t currentTime = millis ())数字处理方法。如果您的loop具有当前时间的定义,则建议将这一次作为参数传递。
static inline uint32_t GetCoefficient ( float vref , float r1 = 0 , float r2 = 1 , float quantization = 1024 )有助于计算SetCoefficient()方法的系数的实用程序。如果不使用分隔线,则仅表示VREF。