--- In lpc2000@yahoogroups.com, "Anton Erasmus" <antone@s...> wrote:
> On 10 Mar 2005 at 20:29, artturi wrote:
>
> >
> > Hello
> >
> > I'm quite new with LPC-family and microcontrollers too so:
> > I'm having trouble with example LPC2_FullCAN_v110 which I got from
> > this group files. I'm using LPC2194 and I haven't changed basic
code
> > at all. The problem is that the ISR won't arrive. I checked with
scope
> > that the message is sended but it don't cause interrupt to get the
> > message to FullCAN list. Is 2194 capable to receive messages in
> > "full-duplex" mode? Do I need external transiver while I'm working
> > with only one 2194? Maybe I have done some rookie mistake but hope
> > someone can turn me to right path.
> >
>
> In general you need a Reciever when working with CAN. It is not like
a UART,
> where you can transmit to nowhere, and check with a scope to see if
it is working.
> In CAN if you transmit, and there is nothing to receive the message,
the CAN
> controller will retry a number of times, and then disable it's
transmitter and go
> into fault mode.
The first thing to determine is how your two CAN controllers are
hooked up. Normally you'd do this by making a bus and using a
transceiver on each CAN port. The bus also needs termination resistors
etc. This is most likely what you'd do with an evaluation board.
For connections on a single board you can just use a single wire
open-collector setup without transcievers. To do this, make a single
wire "bus" with a pull-up resistor. Hook all the receive lines to
this. Hook all the tx lines to this through diodes.
To get a valid send you need to have at least two CAN controllers
connected together and configured. This is because the sending CAN
controller needs to see an acknowledgement from a receiving
controller. The receiving controller does not have to accept the
message, but it must be confgured for the correct bit rate etc.