I'm curious why do you enable CAN interrupts sometimes. Why not to keep RX
> Hi Mr.Venkat
>
> >How you are saying it is recovered from Bus-Off completely did you
> follow all >steps for Micro peripheral CAN module? May be it is in listen
> mode did you >check that.
>
> I think i initialized my CAN module correctly. I didnt configure my
> node to be in Listen only mode.
>
> >Are you enabling the Receive Interrupts for CAN after bus off recovery?
> Yes, I do enable my Receive Interrupts for every 10ms irrespective of
> the Node status.
>
> >If you are not receiving any message are you able to see any ACK error
> on >your CANStress tool(If only two nodes in the NETWORK, of course I
> never >used this tool for my bus monitoring)?
>
> CANStress is a tool which is used to simulate the buss errors. I
> use this tool to generate the Busoff condition. We can not monitor the CAN
> signals with this tool
> I use CANoe for monitoring my CAN messages. But i can not see any
> error frame (Acknowledgement) in the CANoe tool (in Bus Statistics window)
>
>
>
> Venkateshwarlu Kacham <
venkateshwarlu.kacham@...> wrote:
> Hi,
>
>> Now, I created the bus-off condition (using CANstressDR tool). But,after
>> recovery from the bus-off, my node can not receive any messages from the
>> other node or the network. But it can send all of its Transmit messages
>> on the network perfectly.
>
> How you are saying it is recovered from Bus-Off completely did you follow
> all steps for Micro peripheral CAN module? May be it is in listen mode did
> you check that.
> Are you enabling the Receive Interrupts for CAN after bus off recovery?
> If you are not receiving any message are you able to see any ACK error on
> your CANStress tool(If only two nodes in the NETWORK, of course I never
> used this tool for my bus monitoring)?
>
> Good luck!!!
>
> Regards,
> venki
>
> ________________________________
> From:
68HC12@... [mailto:
68HC12@...] On Behalf Of
> kasu nandu
> Sent: Friday, February 29, 2008 9:23 AM
> To:
68HC12@...
> Subject: Re: [68HC12] Re: Busoff problem [plz refer to this mail, the
> previous mail was not perfect]
>
> Hi Mr.Alban,
>
> actually in my sample code, I meant the same for checking the node_status
> i.e
> if((node_status != BUSOFF)&&(node_ status != OVERRUN))
>
> But, I wrote it in a simple way,,actually that is not the issue.
> It is my mistake to typed it wrongly,
>
> Mr.Alban, plz imagine that there is no syntax error in the code and
> suggest me the sollution
>
> Thank you very much
> Kasu
>
> Alban Rampon <
mcu@...<mailto:mcu%40k-noo.net>> wrote:
> Hello,
>
> I see an error in your code:
>
> if(node_status != BUSOFF/OVERRUN)
>
> With / (divided), you probably meant a | (OR) but even then I would
> think it is wrong.
> The way you wrote the rest of extract I would replace by:
>
> if((node_status != BUSOFF)&&(node_status != OVERRUN))
>
> because your status is a direct assignment with an "=", it is not
> possible for you to have both BUSOFF and OVERRUN in the same time. And
> that is what BUSOFF|OVERRUN means as the OR has priority (and it would
> not mean anything otherwise).
>
> In that case you will inside your if if the status is !=BUSOFF AND
> !=OVERRUN.
>
> Does this work better ?
>
> Regards,
> Alban Rampon
>
http://claimid.com/AlbanRampon>
> --- In
68HC12@...<mailto:68HC12%40yahoogroups.com>,
> "yadunandan kasu" <yadunandankasu@...>
> wrote:
>>
>>
>> Hi everyone,
>>
>> I am using S12MSCANV2 can protocol for my application.
>>
>> I have an issue here
>>
>> As we all know, When the nodes enters the Busoff state, it is not
>> allowed to participate in the communication untill recovery to normal
>> state.
>>
>> The following two are my sample codes in which one enables my Transmit
>> interrupt for every 10ms and the other one in CAN error interrupt ISR.
>>
>> CAN_Tx_Routine()
>> {
>> if(timer > 10ms)
>> {
>> if(node_status != BUSOFF/OVERRUN)
>> {
>> enable Tx interrupt; /* enables the CAN Tx interrupt */
>> }
>> }
>> }
>>
>> interrupt _CAN_Error_ISR()
>> {
>> if(CAN0RFLG_TSTAT == 3) /* if node stauts is busoff */
>> {
>> node_status = BUSOFF;
>> DisableInterrupts;
>> CAN_Init_Reg(); /* this contains the CAN controller registers
>> intialization */
>> EnableInterrupts;
>> }
>> }
>>
>> Every thing works fine with the above sample code when i create an
>> bus-off condition i.e. My node can receive and transmit messages after
>> recovery from busoff state.
>>
>> But, I tried something different, i.e. I enable my Transmit interrupt
>> for every 10ms irrespective of the Node status like below. i.e i am not
>> checking whether my node is in Error passive or busoff or over run in my
>> Tx routine.
>>
>> i.e. Even though, busoff occurs, this routine keep enabling the Transmit
>> interrupt.
>>
>> CAN_Tx_Routine()
>> {
>> if(timer > 10ms)
>> {
>> enable Tx interrupt;
>> }
>> }
>>
>> Now, I created the bus-off condition (using CANstressDR tool). But,after
>> recovery from the bus-off, my node can not receive any messages from the
>> other node or the network. But it can send all of its Transmit messages
>> on the network perfectly.
>>
>> I know that the node should not participate in the communication during
>> busoff, but I want to know what's happening in the system when my node
>> is trying to send mesages to the network during busoff.
>>
>> Can anyone tell me the reason for this..? It would be greatly helpfull
>> to me.
>>
>> thanks & regards
>> Kasu
>>
>>
>>
>> [Non-text portions of this message have been removed]
>>
>
> regards
> Yadunandan Kasu(Nandu)
>
> ---------------------------------
> Now you can chat without downloading messenger. Click here to know how.
>
> [Non-text portions of this message have been removed]
>
> [Non-text portions of this message have been removed]
>
>
>
>
>
>
>
> regards
> Yadunandan Kasu(Nandu)
>
> ---------------------------------
> Download prohibited? No problem. CHAT from any browser, without download.
>
> [Non-text portions of this message have been removed]
>
>
>
>
> Yahoo! Groups Links
>
>
>
>