完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1,在发送程序中,将消息编号(MsgNum)写入IF1命令请求寄存器后,数据被发出,请问在接收程序中,如何通过消息编号相关的子函数,取出数据。
2,消息编号在CAN通信中都有哪些作用?是如何工作的?本人水平较低,希望各位可以提供相关代码参考。 我所学习的代码如下: CAN启动程序: void start_CAN(void) { SFPRAGE=CAN0_PAGE; CAN0CN丨=0x41; CAN0ADR=BITREG; CAN0DAT=0x49c2; CAN0CN丨=0x06; CAN0CN&=~0x41; } 发送程序: void transmit(char MsgNum) { uchar num; SFRPAGE=CAN0_PAGE; CAN0ADR=IF1CMDMSK; CAN0DAT=0x0087; CAN0ADR=IF1DATA1; for(num=0;num<8;num++) { CAN0DATH=sdata[num]; n++; CAN0DATL=sdata[num]; } CAN0ADR=IF1CMDRQST; CAN0DATL=MagNum; } 接收程序: void ISRname(void) interrupt 19 { temppage=SFRPAGE; SFRPAGE=CAN0_PAGE; status=CAN0STA; if((status&0x10)!=0) { CAN0STA&=0xef; receive_data(MsgNum); } SFRPAGE=temppage; } .............................................................. 请问:temppage=SFRPAGE;和SFRPAGE=temppage;这两句是做什么用的?receive_data(MsgNum);这个子函数该如何写? |
|
相关推荐
6个回答
|
|
|
|
|
|
1,对于MsgNum的概念还不是太理解,在发送程序中,将MsgNum写入命令请求寄存器后,数据被发送,请问MsgNum的号码,指的是本次发送数据目的地的消息RAM的号码,还是对此条数据进行一个号码的标记,以便接收方能通过此标记进行判断接收?
2,在看了一些资料之后,请问消息对象清0程序和消息对象初始化程序有什么用处?跟MsgNum的号码有关系么? |
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
893 浏览 1 评论
2291 浏览 5 评论
2599 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2408 浏览 6 评论
2312 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
457浏览 9评论
468浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
574浏览 6评论
451浏览 5评论
483浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 23:45 , Processed in 1.143963 second(s), Total 90, Slave 71 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号