PxRegisterWrite_Hnd()
Write a value to a SFR register (handler function).
- APPLIES TO
-
8.2.0
- SYNOPSIS
-
PxError_t PxRegisterWrite_Hnd (volatile PxULong_t *addr, 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
-
PxRegisterWrite_Hndsets the content 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 written. 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 = PxRegisterWrite_Hnd(addr, val); if (error != PXERR_NOERROR) { // Report error }