PxRegisterSetMask_Hnd()
Write all bits of value to a SFR register according to the mask (handler function).
- APPLIES TO
-
1.0.0
- SYNOPSIS
-
PxError_t PxRegisterSetMask_Hnd (volatile PxULong_t *addr, PxULong_t mask, PxULong_t val); - ARGUMENTS
|
|
|
|
|
- RETURN VALUES
-
-
PXROS error code
-
- ERROR CODES
-
PXERR_ACCESS_RIGHTThe task has not the right to access peripheral registers
PXERR_PROT_ILL_REGIONaddris not within additional protection region - DESCRIPTION
-
PxRegisterSetMask_Hndsets the bits described in mask of the peripheral registeraddrto val if the calling task has write access right to this special function register. It should only be used from handlers running in a task’s context.The peripheral register
addrmust be covered in the additional protection region table passed in the element ts_protect_region ofPxTaskSpec_tduringPxTaskCreate.
- IMPLEMENTATION GUIDELINES
-
- Before call
-
-
This function should be called from handlers only. (V)
-
addrhas to be a valid pointer to a special function register (V).
-
- After call
-
-
The function returns
PXERR_NOERRORif the register could be modified. Any other return value describes an error, which has to be interpreted (C).
-
- Best Practice
-
-
The peripheral register
addrmust be covered in the additional protection region table passed in the elementts_protect_regionofPxTaskSpec_tduringPxTaskCreateof the task which has installed the handler.
-
- USAGE
-
#include "pxdef.h" PxError_t error = PxRegisterSetMask_Hnd(addr, mask, val); if (error != PXERR_NOERROR) { // Report error }