打印
[STM8]

STM8S20x CAN使用问题?

[复制链接]
3174|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
macro08|  楼主 | 2009-10-27 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位朋友看看,给我一些参考意见,谢谢了。

//CAN过滤器配置使用库函数stm8s_can.c
/*
*目的:CAN总线中全部为扩展帧,29位ID标志符,想对ID进行过滤,只过滤29位ID的第0到8位,其它位不关心,
*如:接收第0~9位为0和0x02的报文,其它全部丢弃,应如何设置
*/   
    CAN_FilterNumber = 0;
    CAN_FilterActivation = ENABLE;
    CAN_FilterMode = CAN_FilterMode_IdMask;
    CAN_FilterScale = CAN_FilterScale_32Bit;
    CAN_FilterID1=0;
    CAN_FilterID2=0;
    CAN_FilterID3=0;
    CAN_FilterID4=0x0;
    CAN_FilterIDMask1=0;
    CAN_FilterIDMask2=0;
    CAN_FilterIDMask3=0;
    CAN_FilterIDMask4=0x0;  
    CAN_FilterInit(CAN_FilterNumber, CAN_FilterActivation, CAN_FilterMode,
                                CAN_FilterScale,CAN_FilterID1, CAN_FilterID2, CAN_FilterID3,
                                CAN_FilterID4,CAN_FilterIDMask1, CAN_FilterIDMask2,
                                CAN_FilterIDMask3, CAN_FilterIDMask4);

CAN_FilterID1和CAN_FilterIDMask1的具体含义是什么?应如何使用?
沙发
有意思| | 2009-10-28 22:09 | 只看该作者
CAN_FilterID1:需要匹配接收的ID,
CAN_FilterIDMask1:对应的位是否关心,还是必须匹配
datasheet说了一大堆废话,看了头晕,只要看那几个图就最直观咯
CAN_FilterIDMask3=0x03;//ID第7~8为必须匹配
CAN_FilterIDMask4=0xFE;//ID第0~6位必须匹配,匹配ID在CAN_FilterID4中,第0位固定为0

CAN_FilterID4=0x06;//随便写得一个ID,和maxk4对应的ID
CAN_FilterID3=0x03;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝