⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can1setmask.c

📁 带can控制器的PIC高级单片机CAN模块通信测试源码包括库函数和工程文件.
💻 C
字号:
#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__) || defined(__dsPIC30F6010A__) \
    || defined(__dsPIC30F6011A__) || defined(__dsPIC30F6012A__) || defined(__dsPIC30F6013A__) || defined(__dsPIC30F6014A__) \
    || defined(__dsPIC30F5016__) || defined(__dsPIC30F6015__)

/*************************************************************************
* 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -