1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 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