找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3067|回复: 9
打印 上一主题 下一主题
收起左侧

stm32 can报文接收的一个问题,请教大佬

[复制链接]
回帖奖励 17 黑币 回复本帖可获得 17 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:624696 发表于 2019-12-9 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个can报文接收的问题stm32

char canbuf[32];        
while(1)
        {
                flag = Can_Receive_Msg(canbuf);
                if(flag)
                {
                        for(i=0; i<32; i++)
                        {
                                printf("%02X",canbuf[ i]);
                        }
                        printf("\r\n");
                }
        }

flag = Can_Receive_Msg(canbuf);这一行error:  #140: too many arguments in function call说是 函数调用中参数太多,
我前面定义了个char数组
需要再看其他的代码可以说哦
等待大佬
求救

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:644037 发表于 2019-12-9 13:53 | 只看该作者
你的flag定义的也是char吗?
回复

使用道具 举报

板凳
ID:624696 发表于 2019-12-9 14:46 | 只看该作者
阿西8 发表于 2019-12-9 13:53
你的flag定义的也是char吗?

__IO uint32_t flag = 0;        //用于标志是否接受到中断,在中断函数赋值
问题里的flag应该是被赋值吧,
回复

使用道具 举报

地板
ID:470332 发表于 2019-12-9 15:58 | 只看该作者
看Can_Receive_Msg这个函数的声明,有没有形参
回复

使用道具 举报

5#
ID:624696 发表于 2019-12-9 18:34 | 只看该作者
阿西8 发表于 2019-12-9 13:53
你的flag定义的也是char吗?

__IO uint32_t flag = 0;
//用于标志是否接收到函数,在中断中赋值

问题里的flag应该是呗赋值吧
回复

使用道具 举报

6#
ID:624696 发表于 2019-12-9 19:18 | 只看该作者
moluxiyan 发表于 2019-12-9 15:58
看Can_Receive_Msg这个函数的声明,有没有形参

u8 Can_Receive_Msg(u8 *buf)
有参数,是一个指针
回复

使用道具 举报

7#
ID:419968 发表于 2019-12-9 22:37 | 只看该作者
把Can_Receive_Msg,贴出来看看
回复

使用道具 举报

8#
ID:624696 发表于 2019-12-10 07:50 | 只看该作者
本帖最后由 TRX007 于 2019-12-10 09:21 编辑
adject 发表于 2019-12-9 22:37
把Can_Receive_Msg,贴出来看看

u8 Can_Receive_Msg(u8 *buf)
{
        u32 i;
        CanRxMsg RxMessage;
        
        if(CAN_MessagePending(CAN1,CAN_FIFO0) ==0)
                return 0;
        CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
        
        for(i=0; i<8; i++)
        buf = RxMessage.Data;
        
        return RxMessage.DLC;
}
这是Can_Receive_Msg,

上面还有一个封装函数void CAN_Receive (CAN_TypeDef* CAN, uint8_t FIFONumber, CanRxMsg* RxMessage)
老哥,就这些了,您给看看
回复

使用道具 举报

9#
ID:470332 发表于 2019-12-11 11:25 | 只看该作者
TRX007 发表于 2019-12-9 19:18
u8 Can_Receive_Msg(u8 *buf)
有参数,是一个指针

调用这个函数的上下文贴一下
回复

使用道具 举报

10#
ID:624696 发表于 2019-12-12 10:27 | 只看该作者
moluxiyan 发表于 2019-12-11 11:25
调用这个函数的上下文贴一下

__IO uint32_t flag = 0;                                       
CanRxMsg RxMessage;
                                               
就这些了,再有都在上面了,老哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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