guojiyong 发表于 2008-9-19 20:11

希望大家帮我看这个ECAN的代码,看哪里错了

<br />if&nbsp;(ECanaRegs.CANTRS.bit&nbsp;.TRS4==1)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{//当TRS=1时,清0&nbsp;TRS?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaRegs.CANTRR.bit.TRR4=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;=&nbsp;ECanaRegs.CANME.all;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;&=&nbsp;0xFFFFFFEF;//禁用邮箱4,此时可以配置邮箱<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaRegs.CANME.all&nbsp;=&nbsp;ECana32Temp.CANME.all;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaMboxes.MBOX4.MSGID.all=0xC60F8003;//发送指定的目标是F0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaMboxes.MBOX4.MSGCTRL.all&nbsp;=&nbsp;0x00000008;//数据长度8<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaRegs.CANMD.all&nbsp;&=&nbsp;0xFFFFFFEF;&nbsp;//邮箱4用来发送<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;=&nbsp;ECanaRegs.CANME.all;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;|=&nbsp;0x00000010;//启用邮箱4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaRegs.CANME.all&nbsp;=&nbsp;ECana32Temp.CANME.all;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaMboxes.MBOX4.MDL.word.HI_WORD=0x0001;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaMboxes.MBOX4.MDL.word.LOW_WORD&nbsp;=0x0001;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaMboxes.MBOX4.MDH.word.LOW_WORD&nbsp;=0x0001;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaMboxes.MBOX4.MDH.word.HI_WORD&nbsp;=0x0001;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaRegs.CANTRS.bit.TRS4&nbsp;&nbsp;=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(ECanaRegs.CANTA.bit&nbsp;.TA4==1)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{//Mailbox&nbsp;4&nbsp;Mdl&nbsp;send&nbsp;to&nbsp;Controller,&nbsp;waiting&nbsp;for&nbsp;response&nbsp;data<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;send&nbsp;data&nbsp;in&nbsp;box&nbsp;4&nbsp;success,&nbsp;Reset&nbsp;TA4&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECanaRegs.CANTA.all&nbsp;=&nbsp;0x00000010;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />我的目的就是要让邮箱4发送一条消息,问问大家,发送消息成功的标志是什么?是不是发送成功(但消息没有被接收)TA4就置1<br />还有我的接收部分的代码是<br />ECana32Temp.CANME.all&nbsp;=&nbsp;ECanaRegs.CANME.all;&nbsp;<br />&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;&=&nbsp;0xFFFFFFFE;//禁用邮箱0,此时可以配置邮箱<br />&nbsp;&nbsp;ECanaRegs.CANME.all&nbsp;=&nbsp;ECana32Temp.CANME.all;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;ECanaMboxes.MBOX0.MSGID.all=0xC60F8003;//ID<br />&nbsp;&nbsp;ECanaLAMRegs.LAM0.all=0x800807FC;&nbsp;//11-18位是目的地址,必须一一对应<br />&nbsp;&nbsp;ECanaRegs.CANMD.all&nbsp;|=&nbsp;0x0001;&nbsp;//邮箱0用来接收<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;=&nbsp;ECanaRegs.CANME.all;&nbsp;<br />&nbsp;&nbsp;ECana32Temp.CANME.all&nbsp;|=&nbsp;0x00000001;//使能邮箱0<br />&nbsp;&nbsp;ECanaRegs.CANME.all&nbsp;=&nbsp;ECana32Temp.CANME.all;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if(ECanaRegs.CANRMP.bit&nbsp;.RMP0==1)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;ECanaRegs.CANRMP.bit&nbsp;.RMP0=0;<br />&nbsp;&nbsp;}&nbsp;<br />也帮我看看对不
页: [1]
查看完整版本: 希望大家帮我看这个ECAN的代码,看哪里错了