What is a bus?
Well, the Wikipedia entry explains it much better and in more detail.
In short, a "bus" is a wire (or multiple wires if you need more bits) used by multiple bus members. "Bus" is the short form of "omnibus" that is Latin meaning "for all," and yes, it's the electrical instance of the public traffic ...
Normally multiple bus input connection is possible when used tri-state buffers.
If you use only elements from you picture No.2 inputs from the bus will conflict with inputs from the outside. For example an input from the bus set to 1 and an input from the outside can set to 0.
use a transistor ot amplifiy the utput of your optocoupler, you won't get the full 9V (8.3 instead) but you will get much more current available.
simulate this circuit – Schematic created using CircuitLab
I found the solution to my problem.
When I used the Microchip EERAM chip, I found that I had to place a dummy byte in TxBUF immediately before setting the Tx interrupt i.e. like this:
UCB0TXBUF = 0x55;
UCB0IE = UCTXIE0;
If I didn’t do this, the 1st byte of the address in the chip I wanted to write to, was not sent.
However, that line caused the problem ...
Your voltage levels look a bit strange. CAN should ideally be 2.5V +/- 1V. You appear to have 2.3V with 3.3V at CAN HI and 0.7V at CAN LO. The 0.7V in particular is weird and might be an indication that your transceiver is acting up (post schematics please).
The last spike is another node on the bus responding to the frame with the ack field. That other node ...