en-us_commands:reference:ictd
This is an old revision of the document!
Table of Contents
Ictd()
Ictd() loads the preset value, then decrements the current value at each input rising edge.
bool Ictd(uint8_t counter_id, bool CD, bool LOAD, int32_t PV)
Commands
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
Ictd(counter_id, CD, LOAD, PV) | uint8_t counter_id — Counter number. Supports 0 ~ 255, the uint8_t rangebool CDbool LOADint32_t PV — Preset value | bool | Loads the preset value, then decrements the current value at each input rising edge. |
Example
const uint8_t COUNTER_ID = 1; const int32_t START_QUANTITY = 50; void setup() { Serial.begin(115200); } void loop() { const bool shipped = digitalRead(0) == HIGH; const bool loadQuantity = digitalRead(1) == HIGH; const bool empty = Ictd(COUNTER_ID, shipped, loadQuantity, START_QUANTITY); // Load the preset, then decrement the current value on each rising input edge. digitalWrite(32, empty ? HIGH : LOW); }
Precautions
- The previous fixed 0~31 restriction has been removed. However, the argument type is
uint8_t, so the maximum ID is255. - If insufficient memory prevents allocation of counter state, counter commands return
falseor0. - Once created, counter state is retained while the program runs.
Built-in Commands in the Same Category
en-us_commands/reference/ictd.1788796399.txt.gz · Last modified: by 127.0.0.1
