搜索
bottom↓
回复: 4

求教,谁上个LPC1700系列ARM的CAN验收滤波器例程,不胜感激

[复制链接]

出0入0汤圆

发表于 2011-4-12 16:51:08 | 显示全部楼层 |阅读模式
小弟最近在搞CAN通讯,用的LPC1700系列的单片机,CAN验收滤波器的部分不会写了,求教高人指点,想要个CAN验收滤波器的例程,谢谢了~~
我的邮箱liyang830310@163.com

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-5-21 22:45:54 | 显示全部楼层
我这里有个CAN测试 ,一个收,一个发。明天到公司发给你把!

出0入0汤圆

发表于 2011-5-28 21:46:09 | 显示全部楼层
我的连续单个ID号只有第一个能接收出来,而ID号段的ID都能接收出来。。。不解

出0入8汤圆

发表于 2011-5-31 18:20:02 | 显示全部楼层
/*--------------------------------------------------------------------------------*-
* 函数名称: CAN_SetACCF()
* 参    数: 波特率
* 返    回: XX
* 函数功能: 接收滤波器状态
*              
* 说    明:
*
* 当前版本: V1.0               * 取代版本:
* 作     者: wsl                   * 修    改:  
* 版本信息: 2010-04-30        * 修改信息:
-*--------------------------------------------------------------------------------*/
void CAN_SetACCF(const unsigned int ACCFMode)
{
       
        switch (ACCFMode)
        {
                case ACCF_OFF:                                                                // 接收滤波器状态-复位/停止
                        LPC_CANAF->AFMR = ACCFMode;                                // 不缓冲区接收报文       
                break;
               
                case ACCF_BYPASS:                                                         // 接收滤波器状态-复位/停止
                        LPC_CANAF->AFMR = ACCFMode;                                  // 所有接收的报文存到接收缓冲区中
                break;
                // 接收滤波器状态-运行                                                 // 硬件接收过滤
                case ACCF_ON:                                                                  // ACCOFF\ACCBP\EFCAN=0时,接收滤波器处于工作模式
                case ACCF_FULLCAN:                                                        // ACCOFF\ACCBP=0\eFCAN=1,接收滤波器处于FullCAN工作模式
                        LPC_CANAF->AFMR = ACCF_OFF;
                          CAN_SetACCF_Lookup();
                          LPC_CANAF->AFMR = ACCFMode;
                break;       

                default:        break;
        }
}

/*--------------------------------------------------------------------------------*-
* 函数名称: CAN_SetACCF()
* 参    数: 波特率
* 返    回: XX
* 函数功能: 接收滤波器状态
*              
* 说    明:
*
* 当前版本: V1.0               * 取代版本:
* 作     者: wsl                   * 修    改:  
* 版本信息: 2010-04-30        * 修改信息:
-*--------------------------------------------------------------------------------*/
void CAN_SetACCF_Lookup(void)
{
          unsigned int address = 0;

          unsigned int ID_high, ID_low;

          /* Set explicit standard Frame */
          LPC_CANAF->SFF_sa = address;
        ID_low = (0x125 << 16);
        ID_high = 0x126;
        *((volatile uint32_t *)(LPC_CANAF_RAM_BASE + address)) = ID_low | ID_high;
        address += 4;
          /* Set group standard Frame */
          LPC_CANAF->SFF_GRP_sa = address;
        ID_low = (0x125 << 16);                                        // 下边界
        ID_high = 0x129;                                                   // 上边界
        *((volatile uint32_t *)(LPC_CANAF_RAM_BASE + address)) = ID_low | ID_high;
        address += 4;

        LPC_CANAF->EFF_sa = address;                         // 明确的扩展帧
        LPC_CANAF->EFF_GRP_sa = address;                   // 扩展帧组
                  /* Set End of Table */
          LPC_CANAF->ENDofTable = address;
}

出0入8汤圆

发表于 2011-5-31 18:29:29 | 显示全部楼层
/*--------------------------------------------------------------------------------*-
* 函数名称: CAN_SetACCF_Lookup()
* 参    数: 波特率
* 返    回: XX
* 函数功能: 接收滤波器状态
*              
* 说    明: 如果一个表格的起始地址等于下一个表格的起始地址或表格终止寄存器的数值,
*                         则该表格为空,在处理中将被忽略。
*                         表格的大小由其前后2个表格起始地址寄存器的差值决定。
*                         例如,(SFF_GRP_sa) - (SFF_sa)为独立标准帧标识符查找表格大小。
*                         若其值为0,即SFF_GRP_sa=SFF_sa,则独立标准帧标识符查找表格大小为0,
*                         在查找时此表格将被忽略。查找表结束寄存器ENDofTable代表查找表结束地址,
*                         (ENDofTable) - (EFF_GRP_sa)为扩展帧组标识符查找表大小。
*
* 当前版本: V1.0               * 取代版本:
* 作     者: wsl                   * 修    改:  
* 版本信息: 2010-04-30        * 修改信息:
-*--------------------------------------------------------------------------------*/
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-3 16:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表