en-us_commands:reference:ianalogwritef
Table of Contents
IanalogWritef()
IanalogWritef() converts a user floating-point value to the analog output range and outputs it.
void IanalogWritef(uint8_t ch, float min, float max, float value)
Commands
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
IanalogWritef(ch, min, max, value) | uint8_t ch — Analog output pin or channel to writefloat min — Minimum of the user input rangefloat max — Maximum of the user input rangefloat value — User input value to output | void | Converts a user floating-point value to the analog output range and outputs it. |
Example
const uint8_t DEMAND_INPUT = A0; const uint8_t OUTPUT_CHANNEL = 0; void setup() { Serial.begin(115200); } void loop() { const float demandVolts = IanalogReadf(DEMAND_INPUT, 0.0F, 10.0F); // Map the analog input value to the specified floating-point range. IanalogWritef(OUTPUT_CHANNEL, 0.0F, 10.0F, demandVolts); // Map the user's floating-point value to the analog output range and output it. Serial.print(F("demand=")); Serial.print(demandVolts, 2); Serial.println(F("V")); delay(250); }
Precautions
- The argument order must be
ch, min, max, value. minandmaxdefine the user input range for interpretingvalue, rather than directly setting the electrical output range.- If
valueis outsidemin~max, the internalIscalef()clamps it to the nearest endpoint. - Setting
mingreater thanmaxreverses the output direction. - If
minequalsmax, the output value is0. - Changing Timer TOP with
analogWriteInit()oranalogWriteFreq()also changes the actualanalogWrite()output range. Use the default TOP65535to retain 16-bit0~65535resolution. - Match the output module DIP switches, external supply and wiring to the connected equipment's input specifications.
- Do not use these together with PWM, pulse output or counter commands using the same timer.
Built-in Commands in the Same Category
en-us_commands/reference/ianalogwritef.txt · Last modified: by 127.0.0.1
