欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stm32 can報文接收的一個問題,請教大佬 [打印本頁]

作者: TRX007    時間: 2019-12-9 11:24
標題: stm32 can報文接收的一個問題,請教大佬
這是一個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數組
需要再看其他的代碼可以說哦
等待大佬
求救


作者: 阿西8    時間: 2019-12-9 13:53
你的flag定義的也是char嗎?

作者: TRX007    時間: 2019-12-9 14:46
阿西8 發表于 2019-12-9 13:53
你的flag定義的也是char嗎?

__IO uint32_t flag = 0;        //用于標志是否接受到中斷,在中斷函數賦值
問題里的flag應該是被賦值吧,
作者: moluxiyan    時間: 2019-12-9 15:58
看Can_Receive_Msg這個函數的聲明,有沒有形參
作者: TRX007    時間: 2019-12-9 18:34
阿西8 發表于 2019-12-9 13:53
你的flag定義的也是char嗎?

__IO uint32_t flag = 0;
//用于標志是否接收到函數,在中斷中賦值

問題里的flag應該是唄賦值吧
作者: TRX007    時間: 2019-12-9 19:18
moluxiyan 發表于 2019-12-9 15:58
看Can_Receive_Msg這個函數的聲明,有沒有形參

u8 Can_Receive_Msg(u8 *buf)
有參數,是一個指針
作者: adject    時間: 2019-12-9 22:37
把Can_Receive_Msg,貼出來看看
作者: TRX007    時間: 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)
老哥,就這些了,您給看看

作者: moluxiyan    時間: 2019-12-11 11:25
TRX007 發表于 2019-12-9 19:18
u8 Can_Receive_Msg(u8 *buf)
有參數,是一個指針

調用這個函數的上下文貼一下
作者: TRX007    時間: 2019-12-12 10:27
moluxiyan 發表于 2019-12-11 11:25
調用這個函數的上下文貼一下

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




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1