Yes, sklux points out very well. At least for what he has in mind.
Because like most of us he still uses generic terms.
He said:
RS485 is an hardware protocol.
CAN is a software protocol.
Correct it should be:
RS485 (EIA/TIA 485) is an hardware interface not hardware protocol. RS485 has nothing to do with term protocol. Without a special network software, RS485 it's useless, because it's simple driver not a protocol.
CAN is indeed a software protocol, though most of us uses generic term CAN when thinking about the composed software protocol + controller + hardware interface.
Since RS485 it's a balanced driver it could be used as interface for CAN controller as well, exactly mentioned by sklux.
I failed in the same trap like others.
Even neuralc ask:
Does anyone know a IC (cheap!) that gives some kind of interface with a microcontroler?
First of all what some kind of interface ?
1.Standard EIA/TIA 485 (i.e. 75176)? If yes, what kind of software network protocol ?
2.Standard CAN interface (i.e. Philips PCA82C250 )?
Cheap ?
Take a pencil, sit down and writes all your requirements.
For reference you can take a look at i.e Maxim web site and see what are the basic criteria for spliting the 485 product range.
As long as the choosen product covers most of your common design requirements, it's cheap.
Silvio