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

📄 can1setfilter.c

📁 Mplab C30编译器
💻 C
字号:
#include <ecan.h>

#ifdef _C1TXIF

/*********************************************************************
* Function Name     : CAN1SetFilter
* Description       : This function sets the acceptance filter values 
*                     (SID and EID) for the specified filter
* Parameters        : unsigned int: filter_no
*                     unsigned int: sid register value  
*                     unsigned long: eid registers value
* Return Value      : None 
*********************************************************************/

void CAN1SetFilter(unsigned int filter_no, unsigned int sid, unsigned long eid)
{  
    unsigned int eidh;
    eidh = (eid & 0x30000) >> 16;

    switch(filter_no)
    {
    case 0:
      C1RXF0SID = sid & eidh;
      C1RXF0EID = eid;       
      break;
    case 1:
      C1RXF1SID = sid & eidh;
      C1RXF1EID = eid;       
      break;

    case 2:
      C1RXF2SID = sid & eidh;
      C1RXF2EID = eid;       
      break;

    case 3:
      C1RXF3SID = sid & eidh;
      C1RXF3EID = eid;       
      break;

    case 4:
      C1RXF4SID = sid & eidh;
      C1RXF4EID = eid;       
      break;

    case 5:
      C1RXF5SID = sid & eidh;
      C1RXF5EID = eid;       
      break;

    case 6:
      C1RXF6SID = sid & eidh;
      C1RXF6EID = eid;       
      break;

    case 7:
      C1RXF7SID = sid & eidh;
      C1RXF7EID = eid;       
      break;

    case 8:
      C1RXF8SID = sid & eidh;
      C1RXF8EID = eid;       
      break;

    case 9:
      C1RXF9SID = sid & eidh;
      C1RXF9EID = eid;       
      break;

    case 10:
      C1RXF10SID = sid & eidh;
      C1RXF10EID = eid;       
      break;

    case 11:
      C1RXF11SID = sid & eidh;
      C1RXF11EID = eid;       
      break;

    case 12:
      C1RXF12SID = sid & eidh;
      C1RXF12EID = eid;       
      break;

    case 13:
      C1RXF13SID = sid & eidh;
      C1RXF13EID = eid;       
      break;

    case 14:
      C1RXF14SID = sid & eidh;
      C1RXF14EID = eid;       
      break;

    case 15:
      C1RXF15SID = sid & eidh;
      C1RXF15EID = eid;       
      break;

    default:
      C1RXF0SID = sid & eidh;
      C1RXF0EID = eid;        
      break;
    }
}

#else
#warning "Does not build on this target"
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -