STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
CMSIS Core Instruction Interface

Access to dedicated instructions. More...

Collaboration diagram for CMSIS Core Instruction Interface:

Topics

 CMSIS Core Register Access Functions

Macros

#define __NOP   __nop
 No Operation.
#define __WFI   __wfi
 Wait For Interrupt.
#define __WFE   __wfe
 Wait For Event.
#define __SEV   __sev
 Send Event.
#define __ISB()
 Instruction Synchronization Barrier.
#define __DSB()
 Data Synchronization Barrier.
#define __DMB()
 Data Memory Barrier.
#define __REV   __rev
 Reverse byte order (32 bit).
#define __ROR   __ror
 Rotate Right in unsigned value (32 bit).
#define __BKPT(value)
 Breakpoint.
#define __CLZ   __clz
 Count leading zeros.
#define __CMSIS_GCC_OUT_REG(r)
#define __CMSIS_GCC_RW_REG(r)
#define __CMSIS_GCC_USE_REG(r)
#define __NOP   __builtin_arm_nop
 No Operation.
#define __WFI   __builtin_arm_wfi
 Wait For Interrupt.
#define __WFE   __builtin_arm_wfe
 Wait For Event.
#define __SEV   __builtin_arm_sev
 Send Event.
#define __ISB()
 Instruction Synchronization Barrier.
#define __DSB()
 Data Synchronization Barrier.
#define __DMB()
 Data Memory Barrier.
#define __REV(value)
 Reverse byte order (32 bit).
#define __REV16(value)
 Reverse byte order (16 bit).
#define __REVSH(value)
 Reverse byte order (16 bit).
#define __BKPT(value)
 Breakpoint.
#define __RBIT   __builtin_arm_rbit
 Reverse bit order of value.
#define __CMSIS_GCC_OUT_REG(r)
#define __CMSIS_GCC_USE_REG(r)
#define __NOP   __builtin_arm_nop
 No Operation.
#define __WFI   __builtin_arm_wfi
 Wait For Interrupt.
#define __WFE   __builtin_arm_wfe
 Wait For Event.
#define __SEV   __builtin_arm_sev
 Send Event.
#define __ISB()
 Instruction Synchronization Barrier.
#define __DSB()
 Data Synchronization Barrier.
#define __DMB()
 Data Memory Barrier.
#define __REV(value)
 Reverse byte order (32 bit).
#define __REV16(value)
 Reverse byte order (16 bit).
#define __REVSH(value)
 Reverse byte order (16 bit).
#define __BKPT(value)
 Breakpoint.
#define __RBIT   __builtin_arm_rbit
 Reverse bit order of value.
#define __CMSIS_GCC_OUT_REG(r)
#define __CMSIS_GCC_RW_REG(r)
#define __CMSIS_GCC_USE_REG(r)
#define __NOP()
 No Operation.
#define __WFI()
 Wait For Interrupt.
#define __WFE()
 Wait For Event.
#define __SEV()
 Send Event.
#define __BKPT(value)
 Breakpoint.

Functions

 __attribute__ ((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)
 Reverse byte order (16 bit).
 __attribute__ ((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value)
 Reverse byte order (16 bit).
 __attribute__ ((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value)
 Reverse bit order of value.
__STATIC_FORCEINLINE uint32_t __ROR (uint32_t op1, uint32_t op2)
 Rotate Right in unsigned value (32 bit).
__STATIC_FORCEINLINE uint8_t __CLZ (uint32_t value)
 Count leading zeros.
__STATIC_FORCEINLINE int32_t __SSAT (int32_t val, uint32_t sat)
 Signed Saturate.
__STATIC_FORCEINLINE uint32_t __USAT (int32_t val, uint32_t sat)
 Unsigned Saturate.
__STATIC_FORCEINLINE void __ISB (void)
 Instruction Synchronization Barrier.
__STATIC_FORCEINLINE void __DSB (void)
 Data Synchronization Barrier.
__STATIC_FORCEINLINE void __DMB (void)
 Data Memory Barrier.
__STATIC_FORCEINLINE uint32_t __REV (uint32_t value)
 Reverse byte order (32 bit).
__STATIC_FORCEINLINE uint32_t __REV16 (uint32_t value)
 Reverse byte order (16 bit).
__STATIC_FORCEINLINE int16_t __REVSH (int16_t value)
 Reverse byte order (16 bit).
__STATIC_FORCEINLINE uint32_t __RBIT (uint32_t value)
 Reverse bit order of value.

Variables

uint32_t sat

Detailed Description

Access to dedicated instructions.

Macro Definition Documentation

◆ __BKPT [1/4]

#define __BKPT ( value)
Value:
__breakpoint(value)

Breakpoint.

Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.

Parameters
[in]valueis ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint.

Definition at line 248 of file cmsis_armcc.h.

◆ __BKPT [2/4]

#define __BKPT ( value)
Value:
__ASM volatile ("bkpt "#value)
#define __ASM
Definition cmsis_armcc.h:58

Breakpoint.

Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.

Parameters
[in]valueis ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint.

Definition at line 278 of file cmsis_armclang.h.

◆ __BKPT [3/4]

#define __BKPT ( value)
Value:
__ASM volatile ("bkpt "#value)

Breakpoint.

Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.

Parameters
[in]valueis ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint.

Definition at line 276 of file cmsis_armclang_ltm.h.

◆ __BKPT [4/4]

#define __BKPT ( value)
Value:
__ASM volatile ("bkpt "#value)

Breakpoint.

Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.

Parameters
[in]valueis ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint.

Definition at line 364 of file cmsis_gcc.h.

◆ __CLZ

#define __CLZ   __clz

Count leading zeros.

Counts the number of leading zeros of a data value.

Parameters
[in]valueValue to count the leading zeros
Returns
number of leading zeros in value

Definition at line 285 of file cmsis_armcc.h.

◆ __CMSIS_GCC_OUT_REG [1/3]

#define __CMSIS_GCC_OUT_REG ( r)
Value:
"=r" (r)
static boot_report_t r

Definition at line 169 of file cmsis_armclang.h.

Referenced by __REV(), __REV16(), and __REVSH().

◆ __CMSIS_GCC_OUT_REG [2/3]

#define __CMSIS_GCC_OUT_REG ( r)
Value:
"=r" (r)

Definition at line 168 of file cmsis_armclang_ltm.h.

◆ __CMSIS_GCC_OUT_REG [3/3]

#define __CMSIS_GCC_OUT_REG ( r)
Value:
"=r" (r)

Definition at line 219 of file cmsis_gcc.h.

◆ __CMSIS_GCC_RW_REG [1/2]

#define __CMSIS_GCC_RW_REG ( r)
Value:
"+r" (r)

Definition at line 170 of file cmsis_armclang.h.

◆ __CMSIS_GCC_RW_REG [2/2]

#define __CMSIS_GCC_RW_REG ( r)
Value:
"+r" (r)

Definition at line 220 of file cmsis_gcc.h.

◆ __CMSIS_GCC_USE_REG [1/3]

#define __CMSIS_GCC_USE_REG ( r)
Value:
"r" (r)

Definition at line 171 of file cmsis_armclang.h.

Referenced by __REV(), __REV16(), and __REVSH().

◆ __CMSIS_GCC_USE_REG [2/3]

#define __CMSIS_GCC_USE_REG ( r)
Value:
"r" (r)

Definition at line 169 of file cmsis_armclang_ltm.h.

◆ __CMSIS_GCC_USE_REG [3/3]

#define __CMSIS_GCC_USE_REG ( r)
Value:
"r" (r)

Definition at line 221 of file cmsis_gcc.h.

◆ __DMB [1/3]

#define __DMB ( void)
Value:
__dmb(0xF)

Data Memory Barrier.

Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.

Definition at line 189 of file cmsis_armcc.h.

Referenced by ARM_MPU_Disable(), and ARM_MPU_Enable().

◆ __DMB [2/3]

#define __DMB ( void)
Value:
__builtin_arm_dmb(0xF)

Data Memory Barrier.

Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.

Definition at line 223 of file cmsis_armclang.h.

◆ __DMB [3/3]

#define __DMB ( void)
Value:
__builtin_arm_dmb(0xF)

Data Memory Barrier.

Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.

Definition at line 221 of file cmsis_armclang_ltm.h.

◆ __DSB [1/3]

◆ __DSB [2/3]

#define __DSB ( void)
Value:
__builtin_arm_dsb(0xF)

Data Synchronization Barrier.

Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.

Definition at line 215 of file cmsis_armclang.h.

◆ __DSB [3/3]

#define __DSB ( void)
Value:
__builtin_arm_dsb(0xF)

Data Synchronization Barrier.

Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.

Definition at line 213 of file cmsis_armclang_ltm.h.

◆ __ISB [1/3]

#define __ISB ( void)
Value:
__isb(0xF)

Instruction Synchronization Barrier.

Instruction Synchronization Barrier flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed.

Definition at line 175 of file cmsis_armcc.h.

Referenced by __NVIC_DisableIRQ(), __set_CONTROL(), ARM_MPU_Disable(), ARM_MPU_Enable(), DCB_SetAuthCtrl(), SCB_CleanDCache(), SCB_CleanDCache_by_Addr(), SCB_CleanDCache_by_Addr(), SCB_CleanInvalidateDCache(), SCB_CleanInvalidateDCache_by_Addr(), SCB_CleanInvalidateDCache_by_Addr(), SCB_DisableDCache(), SCB_DisableICache(), SCB_EnableDCache(), SCB_EnableICache(), SCB_InvalidateDCache(), SCB_InvalidateDCache_by_Addr(), SCB_InvalidateDCache_by_Addr(), SCB_InvalidateICache(), SCB_InvalidateICache_by_Addr(), and SCB_InvalidateICache_by_Addr().

◆ __ISB [2/3]

#define __ISB ( void)
Value:
__builtin_arm_isb(0xF)

Instruction Synchronization Barrier.

Instruction Synchronization Barrier flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed.

Definition at line 208 of file cmsis_armclang.h.

◆ __ISB [3/3]

#define __ISB ( void)
Value:
__builtin_arm_isb(0xF)

Instruction Synchronization Barrier.

Instruction Synchronization Barrier flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed.

Definition at line 206 of file cmsis_armclang_ltm.h.

◆ __NOP [1/4]

#define __NOP   __nop

No Operation.

No Operation does nothing. This instruction can be used for code alignment purposes.

Definition at line 144 of file cmsis_armcc.h.

Referenced by __NVIC_SystemReset(), __SW_SystemReset(), and ITM_SendChar().

◆ __NOP [2/4]

#define __NOP   __builtin_arm_nop

No Operation.

No Operation does nothing. This instruction can be used for code alignment purposes.

Definition at line 178 of file cmsis_armclang.h.

◆ __NOP [3/4]

#define __NOP   __builtin_arm_nop

No Operation.

No Operation does nothing. This instruction can be used for code alignment purposes.

Definition at line 176 of file cmsis_armclang_ltm.h.

◆ __NOP [4/4]

#define __NOP ( )
Value:
__ASM volatile ("nop")

No Operation.

No Operation does nothing. This instruction can be used for code alignment purposes.

Definition at line 228 of file cmsis_gcc.h.

◆ __RBIT [1/2]

#define __RBIT   __builtin_arm_rbit

Reverse bit order of value.

Reverses the bit order of the given value.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 287 of file cmsis_armclang.h.

◆ __RBIT [2/2]

#define __RBIT   __builtin_arm_rbit

Reverse bit order of value.

Reverses the bit order of the given value.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 285 of file cmsis_armclang_ltm.h.

◆ __REV [1/3]

#define __REV   __rev

Reverse byte order (32 bit).

Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 198 of file cmsis_armcc.h.

◆ __REV [2/3]

#define __REV ( value)
Value:
__builtin_bswap32(value)

Reverse byte order (32 bit).

Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 232 of file cmsis_armclang.h.

◆ __REV [3/3]

#define __REV ( value)
Value:
__builtin_bswap32(value)

Reverse byte order (32 bit).

Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 230 of file cmsis_armclang_ltm.h.

◆ __REV16 [1/2]

#define __REV16 ( value)
Value:
#define __REV
Reverse byte order (32 bit).
#define __ROR
Rotate Right in unsigned value (32 bit).

Reverse byte order (16 bit).

Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 241 of file cmsis_armclang.h.

Referenced by __attribute__().

◆ __REV16 [2/2]

#define __REV16 ( value)
Value:

Reverse byte order (16 bit).

Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 239 of file cmsis_armclang_ltm.h.

◆ __REVSH [1/2]

#define __REVSH ( value)
Value:
(int16_t)__builtin_bswap16(value)

Reverse byte order (16 bit).

Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 250 of file cmsis_armclang.h.

Referenced by __attribute__().

◆ __REVSH [2/2]

#define __REVSH ( value)
Value:
(int16_t)__builtin_bswap16(value)

Reverse byte order (16 bit).

Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 248 of file cmsis_armclang_ltm.h.

◆ __ROR

#define __ROR   __ror

Rotate Right in unsigned value (32 bit).

Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.

Parameters
[in]op1Value to rotate
[in]op2Number of Bits to rotate
Returns
Rotated value

Definition at line 238 of file cmsis_armcc.h.

◆ __SEV [1/4]

#define __SEV   __sev

Send Event.

Send Event is a hint instruction. It causes an event to be signaled to the CPU.

Definition at line 166 of file cmsis_armcc.h.

◆ __SEV [2/4]

#define __SEV   __builtin_arm_sev

Send Event.

Send Event is a hint instruction. It causes an event to be signaled to the CPU.

Definition at line 199 of file cmsis_armclang.h.

◆ __SEV [3/4]

#define __SEV   __builtin_arm_sev

Send Event.

Send Event is a hint instruction. It causes an event to be signaled to the CPU.

Definition at line 197 of file cmsis_armclang_ltm.h.

◆ __SEV [4/4]

#define __SEV ( )
Value:
__ASM volatile ("sev")

Send Event.

Send Event is a hint instruction. It causes an event to be signaled to the CPU.

Definition at line 249 of file cmsis_gcc.h.

◆ __WFE [1/4]

#define __WFE   __wfe

Wait For Event.

Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.

Definition at line 159 of file cmsis_armcc.h.

◆ __WFE [2/4]

#define __WFE   __builtin_arm_wfe

Wait For Event.

Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.

Definition at line 192 of file cmsis_armclang.h.

◆ __WFE [3/4]

#define __WFE   __builtin_arm_wfe

Wait For Event.

Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.

Definition at line 190 of file cmsis_armclang_ltm.h.

◆ __WFE [4/4]

#define __WFE ( )
Value:
__ASM volatile ("wfe":::"memory")

Wait For Event.

Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.

Definition at line 242 of file cmsis_gcc.h.

◆ __WFI [1/4]

#define __WFI   __wfi

Wait For Interrupt.

Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.

Definition at line 151 of file cmsis_armcc.h.

◆ __WFI [2/4]

#define __WFI   __builtin_arm_wfi

Wait For Interrupt.

Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.

Definition at line 184 of file cmsis_armclang.h.

◆ __WFI [3/4]

#define __WFI   __builtin_arm_wfi

Wait For Interrupt.

Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.

Definition at line 182 of file cmsis_armclang_ltm.h.

◆ __WFI [4/4]

#define __WFI ( )
Value:
__ASM volatile ("wfi":::"memory")

Wait For Interrupt.

Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.

Definition at line 234 of file cmsis_gcc.h.

Function Documentation

◆ __attribute__() [1/3]

__attribute__ ( (always_inline) )

Reverse bit order of value.

Unsigned Saturate.

Signed Saturate.

Reverses the bit order of the given value.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Saturates a signed value.

Parameters
[in]valueValue to be saturated
[in]satBit position to saturate to (1..32)
Returns
Saturated value

Saturates an unsigned value.

Parameters
[in]valueValue to be saturated
[in]satBit position to saturate to (0..31)
Returns
Saturated value

Definition at line 261 of file cmsis_armcc.h.

References __STATIC_INLINE, and result.

◆ __attribute__() [2/3]

__attribute__ ( (section(".rev16_text")) )

Reverse byte order (16 bit).

Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 208 of file cmsis_armcc.h.

References __ASM, __REV16, and __STATIC_INLINE.

◆ __attribute__() [3/3]

__attribute__ ( (section(".revsh_text")) )

Reverse byte order (16 bit).

Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 223 of file cmsis_armcc.h.

References __ASM, __REVSH, and __STATIC_INLINE.

◆ __CLZ()

__STATIC_FORCEINLINE uint8_t __CLZ ( uint32_t value)

Count leading zeros.

Counts the number of leading zeros of a data value.

Parameters
[in]valueValue to count the leading zeros
Returns
number of leading zeros in value

Definition at line 295 of file cmsis_armclang.h.

References __STATIC_FORCEINLINE.

◆ __DMB()

__STATIC_FORCEINLINE void __DMB ( void )

Data Memory Barrier.

Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.

Definition at line 280 of file cmsis_gcc.h.

References __ASM, and __STATIC_FORCEINLINE.

◆ __DSB()

__STATIC_FORCEINLINE void __DSB ( void )

Data Synchronization Barrier.

Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.

Definition at line 269 of file cmsis_gcc.h.

References __ASM, and __STATIC_FORCEINLINE.

◆ __ISB()

__STATIC_FORCEINLINE void __ISB ( void )

Instruction Synchronization Barrier.

Instruction Synchronization Barrier flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed.

Definition at line 258 of file cmsis_gcc.h.

References __ASM, and __STATIC_FORCEINLINE.

◆ __RBIT()

__STATIC_FORCEINLINE uint32_t __RBIT ( uint32_t value)

Reverse bit order of value.

Reverses the bit order of the given value.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 373 of file cmsis_gcc.h.

References __ASM, __STATIC_FORCEINLINE, and result.

◆ __REV()

__STATIC_FORCEINLINE uint32_t __REV ( uint32_t value)

Reverse byte order (32 bit).

Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 292 of file cmsis_gcc.h.

References __ASM, __CMSIS_GCC_OUT_REG, __CMSIS_GCC_USE_REG, __STATIC_FORCEINLINE, and result.

◆ __REV16()

__STATIC_FORCEINLINE uint32_t __REV16 ( uint32_t value)

Reverse byte order (16 bit).

Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 311 of file cmsis_gcc.h.

References __ASM, __CMSIS_GCC_OUT_REG, __CMSIS_GCC_USE_REG, __STATIC_FORCEINLINE, and result.

◆ __REVSH()

__STATIC_FORCEINLINE int16_t __REVSH ( int16_t value)

Reverse byte order (16 bit).

Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.

Parameters
[in]valueValue to reverse
Returns
Reversed value

Definition at line 326 of file cmsis_gcc.h.

References __ASM, __CMSIS_GCC_OUT_REG, __CMSIS_GCC_USE_REG, __STATIC_FORCEINLINE, and result.

◆ __ROR()

__STATIC_FORCEINLINE uint32_t __ROR ( uint32_t op1,
uint32_t op2 )

Rotate Right in unsigned value (32 bit).

Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.

Parameters
[in]op1Value to rotate
[in]op2Number of Bits to rotate
Returns
Rotated value

Definition at line 260 of file cmsis_armclang.h.

References __STATIC_FORCEINLINE.

◆ __SSAT()

__STATIC_FORCEINLINE int32_t __SSAT ( int32_t val,
uint32_t sat )

Signed Saturate.

Saturates a signed value.

Parameters
[in]valueValue to be saturated
[in]satBit position to saturate to (1..32)
Returns
Saturated value

Definition at line 526 of file cmsis_armclang.h.

References __STATIC_FORCEINLINE, max, min, and sat.

◆ __USAT()

__STATIC_FORCEINLINE uint32_t __USAT ( int32_t val,
uint32_t sat )

Unsigned Saturate.

Saturates an unsigned value.

Parameters
[in]valueValue to be saturated
[in]satBit position to saturate to (0..31)
Returns
Saturated value

Definition at line 551 of file cmsis_armclang.h.

References __STATIC_FORCEINLINE, max, and sat.

Variable Documentation

◆ sat

uint32_t sat
Initial value:
{
if ((sat >= 1U) && (sat <= 32U))
{
const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
const int32_t min = -1 - max ;
if (val > max)
{
return max;
}
else if (val < min)
{
return min;
}
}
return val
#define min(a, b)
Definition Arduino.h:42
#define max(a, b)
Definition Arduino.h:43
uint32_t sat

Definition at line 481 of file cmsis_armcc.h.

Referenced by __SSAT(), and __USAT().