Skip to content

suspendProg (SPIFlash)

Signatures

  • bool SPIFlash::suspendProg(void)

What It Is For

Suspend an in-progress erase/program operation on chips that support suspend/resume.

Parameters

  • No parameters.

Behavior Details

Useful for responsiveness: pause long erase, service urgent reads, then resume.

Return Semantics

Returns true if suspend request succeeded.

Failure Behavior

Not all chips support suspend semantics for every operation/state.

Common Mistakes

  • Assuming suspend is supported on every chip and operation state.
  • Calling suspend/resume without checking return values.
  • Suspending and never resuming, leaving long operation incomplete.

Choosing Between Similar APIs

  • Use suspendProg() only during long erase/program operations when urgent access is needed.
  • Use normal blocking flow if your application can tolerate erase latency.
  • Always pair with resumeProg() when suspend succeeds.

Example

if (!flash.suspendProg()) {
  flash.error(VERBOSE);
}