TsctlDIOCommitDesc

From embeddedTS Manuals

The Commit command causes all synchronous DIO values to be update to hardware. All calls to Set which have changed the cached value of a DIO since the last Commit will cause the hardware value for that DIO to be updated.

Regardless of how many DIOs change in a single register, the register will be written at most once for a given commit, and not at all if no DIO values have changed since the last Commit.

In general, a Commit should be issued at the end of a set of synchronous DIO operations, in order to synchronize the DIO cache with the actual state of the DIOs. The Commit command only detects synchronous changes, therefore mixing synchronous and asynchronous DIO access must be done with care. More specifically, any asynchronous changes that occur between a Refresh and a Commit will not be detected and may result in the Commit not causing a DIO to reflect the cached state, specifically if the asynchronous change causes a DIO to not match its cached state and the cache state is not marked as dirty.