SBC_FS23 API :Sbc_fs23_SetWakeupConfig

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

SBC_FS23 API :Sbc_fs23_SetWakeupConfig

跳至解决方案
706 次查看
WeiC
Contributor I

In the " CDD_Sbc_fs23.c" file ,API "Sbc_fs23_SetWakeupConfig" has two lines code,as follows

/*--------------------------------------------------*/

u16TxData = (u16RxData & (~(SBC_FS23_M_WK1_WUEN_WAKEUP_MASK | SBC_FS23_M_WK2_WUEN_WAKEUP_MASK | SBC_FS23_M_HVIO1_WUEN_WAKEUP_MASK | SBC_FS23_M_HVIO2_WUEN_WAKEUP_MASK | SBC_FS23_M_LVIO3_WUEN_WAKEUP_MASK | SBC_FS23_M_LVIO4_WUEN_WAKEUP_MASK | SBC_FS23_M_LVI5_WUEN_WAKEUP_MASK))) | (*Sbc_fs23_pConfigPtr->Sbc_fs23_WuConfig)[WakeupSettingId].IoWuEnReg;

..................................

u16TxData = (u16RxData & (~(SBC_FS23_M_CAN_WUEN_WAKEUP_MASK | SBC_FS23_M_LIN_WUEN_WAKEUP_MASK | SBC_FS23_M_LDT_WUEN_WAKEUP_MASK))) | (*Sbc_fs23_pConfigPtr->Sbc_fs23_WuConfig)[WakeupSettingId].Wu1EnReg;

/*--------------------------------------------------*/

what means about “(u16RxData & (~............))| XxxxCfg.XxxxEnReg"? why not directly use“(u16RxData | XxxxCfg.XxxxEnReg"?

I don't understand the operation of "u16RxData & (~............)".

 

0 项奖励
回复
1 解答
646 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,

By using & (~(………)) we make sure that those configurable wake-up and interrupt enable bits are first zeroed before writing a new value to them.  

BR, Tomas

在原帖中查看解决方案

0 项奖励
回复
1 回复
647 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,

By using & (~(………)) we make sure that those configurable wake-up and interrupt enable bits are first zeroed before writing a new value to them.  

BR, Tomas

0 项奖励
回复