can1setmask.c
来自「Microchip的官方PIC24H系列16位单片机的外设源程序库。」· C语言 代码 · 共 43 行
C
43 行
#include<CAN.h>
#include<p30fxxxx.h>
#if defined(__dsPIC30F4013__) || defined(__dsPIC30F5011__) || defined(__dsPIC30F6011__) || defined(__dsPIC30F6012__) \
|| defined(__dsPIC30F5013__) || defined(__dsPIC30F6013__) || defined(__dsPIC30F6014__) || defined(__dsPIC30F4012__) \
|| defined(__dsPIC30F4011__) || defined(__dsPIC30F6010__) || defined(__dsPIC30F5015__)
/*************************************************************************
* Function Name : CAN1SetMask
* Description : This function sets the values for the acceptance
* filter mask registers (SID and EID)
* Parameters : char: mask_no
* unsigned int: sid register value
* unsigned long: eid registers value
* Return Value : None
**************************************************************************/
void CAN1SetMask(char mask_no, unsigned int sid, unsigned long eid)
{
unsigned int uppereid = eid >>16;
switch(mask_no)
{
case 0:
C1RXM0SID = sid;
C1RXM0EIDH = uppereid; /*upper 16 to the EIDH reg */
C1RXM0EIDL = eid; /*lower 16 to EIDL */
break;
case 1:
C1RXM1SID = sid;
C1RXM1EIDH = uppereid; /*upper 16 to the EIDH reg */
C1RXM1EIDL = eid; /*lower 16 to EIDL */
break;
default:
C1RXM0SID = sid;
C1RXM0EIDH = uppereid; /*upper 16 to the EIDH reg */
C1RXM0EIDL = eid; /*lower 16 to EIDL */
break;
}
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?