查看: 13018|回复: 6

[S32] S32K CAN总线 过滤配置 怎么搞?

[复制链接]

该用户从未签到

3

主题

3

帖子

0

新手上路

Rank: 1

积分
15
最后登录
2017-2-27
发表于 2017-2-27 14:46:33 | 显示全部楼层 |阅读模式
大家好,

     S32K  CAN总线参考NXP的工程目前能发送一个报文 和  接收 一个报文.  但是现在接收多个报文就是搞不定.  1. 例如, MCU需要接收所有的报文, 初始化怎么配置. 怎么中断接收.
2. 例如, MCU需要接收20个报文, 初始化怎么配置, 怎么中断接收.


flexcan_state_t can0_State;


const flexcan_user_config_t can0_InitConfig0 = {
    .fd_enable = false,
    .pe_clock = FLEXCAN_CLK_SOURCE_SYS,
    .max_num_mb = 10,
    .num_id_filters = FLEXCAN_RX_FIFO_ID_FILTERS_16,
    .is_rx_fifo_needed = false,
    .flexcanMode = FLEXCAN_NORMAL_MODE,
    .payload = FLEXCAN_PAYLOAD_SIZE_8,
    .bitrate = {
        .propSeg = 7,
        .phaseSeg1 = 4,
        .phaseSeg2 = 1,
        .preDivider = 6,
        .rJumpwidth = 1
    },
    .bitrate_cbt = {
        .propSeg = 7,
        .phaseSeg1 = 4,
        .phaseSeg2 = 1,
        .preDivider = 6,
        .rJumpwidth = 1
    },
    .transfer_type = FLEXCAN_RXFIFO_USING_INTERRUPTS
};


void FlexCAN0_Config(void)
{
        TJA1043_OperatingMode(TJA104x_Normal_Mode);
       
        FLEXCAN_DRV_Init(FSL_CAN0, &can0_State, &can0_InitConfig0);
       
    /* Set information about the data to be received
     *  - 1 byte in length
     *  - Standard message ID
     *  - Bit rate switch enabled to use a different bitrate for the data segment
     *  - Flexible data rate enabled
     *  - Use zeros for FD padding
     */
    flexcan_data_info_t dataInfo =
    {
            .data_length = 2U,
            .msg_id_type = FLEXCAN_MSG_ID_STD,
            .enable_brs  = true,
            .fd_enable   = false,
            .fd_padding  = 0U
    };

    /* Configure RX message buffer with index RX_MSG_ID and RX_MAILBOX */
    FLEXCAN_DRV_ConfigRxMb(FSL_CAN0, 1, &dataInfo, 0x12);
}
我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25498
最后登录
2025-9-11
发表于 2017-3-1 16:34:57 | 显示全部楼层
楼主你好!
你可以在代码中都加几个MB,然后参考一个接收的程序,把相关的mask寄存器,以及要接收的ID给填上。
你先尝试着修改,如果修改遇到问题,欢迎继续交流。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2022-2-11 16:59
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    118
    最后登录
    2022-9-26
    发表于 2017-6-1 15:53:45 | 显示全部楼层
    小恩GG 发表于 2017-3-1 16:34
    楼主你好!
    你可以在代码中都加几个MB,然后参考一个接收的程序,把相关的mask寄存器,以及要接收的ID给填 ...

    你好,我遇到了和楼主一样的问题,我现在想接收总线上所有ID的报文,只要总线有报文就收, 现在我将寄存器RXMGMASK、RX14MASK、RX15MASK都设置为0,我在中断里打断点,看是可以接收到报文,但RXMGMASK、RX14MASK、RX15MASK都设置为0后,发送产生的IFLAG会出问题(IFLAG会同时有两位置1),不知道怎么解决
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25498
    最后登录
    2025-9-11
    发表于 2017-6-2 16:06:14 | 显示全部楼层
    @0simple0@ 发表于 2017-6-1 15:53
    你好,我遇到了和楼主一样的问题,我现在想接收总线上所有ID的报文,只要总线有报文就收, 现在我将寄存 ...

    楼主你好!
    关于S32K的问题,建议你直接到官网32K版块去提问:
    http://community.nxp.com/community/s32/s32k/content
    那边会有专门的工程师帮你解答。
    建议你使用英文描述问题,这样国外的工程师也会帮你解答。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-2-11 16:59
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    118
    最后登录
    2022-9-26
    发表于 2017-6-6 10:01:51 | 显示全部楼层
    小恩GG 发表于 2017-6-2 16:06
    楼主你好!
    关于S32K的问题,建议你直接到官网32K版块去提问:
    http://community.nxp.com/community/s32 ...

    版主您好!
    我在官方的用户手册里看到了有这份文档《S32K1xx_DMA_INT_mapping.xlsm》,但在官网上找不到,您能帮我找下吗?另外有没有《S32K1xx_CAN_INT_mapping.xlsm》这份文档么?我现在想知道ISER寄存器是控制什么的,但官方的用户手册里面没有提及,麻烦版主大人了
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25498
    最后登录
    2025-9-11
    发表于 2017-6-6 14:21:52 | 显示全部楼层
    @0simple0@ 发表于 2017-6-6 10:01
    版主您好!
    我在官方的用户手册里看到了有这份文档《S32K1xx_DMA_INT_mapping.xlsm》,但在官网上找不到 ...

    你好,我在官网找了一圈没有找到,我感觉这个文档少了中断的罗列,我建议你按照我前面建议的方式到官方英文论坛去提问,找专门支持的工程师去checking, 因为S32是auto 方面的MCU,我这边手上资源不多
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-2-11 16:59
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    118
    最后登录
    2022-9-26
    发表于 2017-6-6 14:36:39 | 显示全部楼层
    小恩GG 发表于 2017-6-6 14:21
    你好,我在官网找了一圈没有找到,我感觉这个文档少了中断的罗列,我建议你按照我前面建议的方式到官方英 ...

    好的,谢谢版主
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-11 17:21 , Processed in 0.096235 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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