OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2969|回复: 2

CAN接收函数的理解

[复制链接]

7

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2015-10-21
在线时间
52 小时
发表于 2015-11-4 11:00:53 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]请教大家,我想知道该函数的参数为什么需要用指针,函数的参数是怎样的引用过程[/mw_shl_code] [mw_shl_code=c,true]void Can_Rx_Msg(u8 fifox,u32 *id,u8 *ide,u8 *rtr,u8 *len,u8 *dat) { *ide=CAN->sFIFOMailBox[fifox].RIR&0x04;//????±ê??·??????????? if(*ide==0)//±ê×?±ê??·? { *id=CAN->sFIFOMailBox[fifox].RIR>>21; }else //?©??±ê??·? { *id=CAN->sFIFOMailBox[fifox].RIR>>3; } *rtr=CAN->sFIFOMailBox[fifox].RIR&0x02; //????????·??????ó??. *len=CAN->sFIFOMailBox[fifox].RDTR&0x0F;//????DLC //*fmi=(CAN->sFIFOMailBox[FIFONumber].RDTR>>8)&0xFF;//????FMI //???????? dat[0]=CAN->sFIFOMailBox[fifox].RDLR&0XFF; dat[1]=(CAN->sFIFOMailBox[fifox].RDLR>>8)&0XFF; dat[2]=(CAN->sFIFOMailBox[fifox].RDLR>>16)&0XFF; dat[3]=(CAN->sFIFOMailBox[fifox].RDLR>>24)&0XFF; dat[4]=CAN->sFIFOMailBox[fifox].RDHR&0XFF; dat[5]=(CAN->sFIFOMailBox[fifox].RDHR>>8)&0XFF; dat[6]=(CAN->sFIFOMailBox[fifox].RDHR>>16)&0XFF; dat[7]=(CAN->sFIFOMailBox[fifox].RDHR>>24)&0XFF; if(fifox==0)CAN->RF0R|=0X20;//??·?FIFO0???? else if(fifox==1)CAN->RF1R|=0X20;//??·?FIFO1???? }[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

指针作为函数参数,一般是用来存储数据用的,因为函数返回最多返回一个参数,通过指针作为参数可以使函数处理返回多样化
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-11-4 11:00:54 | 显示全部楼层
指针作为函数参数,一般是用来存储数据用的,因为函数返回最多返回一个参数,通过指针作为参数可以使函数处理返回多样化
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

7

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2015-10-21
在线时间
52 小时
 楼主| 发表于 2015-11-4 15:00:09 | 显示全部楼层
回复【2楼】龙之谷:
---------------------------------
多谢
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 16:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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