IanalogWrite() converts a user integer value to the analog output range and outputs it.
void IanalogWrite(uint8_t ch, int32_t min, int32_t max, int32_t value)
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
IanalogWrite(ch, min, max, value) | uint8_t ch — Analog output pin or channel to writeint32_t min — Minimum of the user input rangeint32_t max — Maximum of the user input rangeint32_t value — User input value to output | void | Converts a user integer value to the analog output range and outputs it. |
const uint8_t DEMAND_INPUT = A0; const uint8_t OUTPUT_CHANNEL = 0; void setup() { Serial.begin(115200); } void loop() { const int32_t demandPercent = IanalogRead(DEMAND_INPUT, 0, 100); // Map the analog input value to the specified integer range. IanalogWrite(OUTPUT_CHANNEL, 0, 100, demandPercent); // Map the user's integer value to the analog output range and output it. Serial.print(F("demand=")); Serial.print(demandPercent); Serial.println(F("%")); delay(250); }
ch, min, max, value.min and max define the user input range for interpreting value, rather than directly setting the electrical output range.value is outside min~max, the internal Iscalef() clamps it to the nearest endpoint.min greater than max reverses the output direction.min equals max, the output value is 0.analogWriteInit() or analogWriteFreq() also changes the actual analogWrite() output range. Use the default TOP 65535 to retain 16-bit 0~65535 resolution.