Чисто из уважения к тебе. Просто CAN — это такой замороченный UART.
Количество данных, которое можно передать в одном пакете - до 8 байт.
Большой размер служебных данных в пакете (по отношению к полезным данным).
Отсутствие единого общепринятого стандарта на протокол высокого уровня. Изготовители, как правило, не афишируют, как именно они используют полезные байты в пакете.
Modbus — открытый протокол, основанный на архитектуре ведущий — ведомый (англ. master-slave; в стандарте Modbus используются термины client-server). Применяется в промышленности для организации связи между электронными устройствами. Может использоваться для передачи данных через последовательные линии связи RS-485, RS-422, RS-232 и сети TCP/IP (Modbus TCP). Также существуют нестандартные реализации, использующие UDP.
CANopen — открытый сетевой протокол верхнего уровня ( мультимастер ) для подключения встраиваемых устройств в бортовых транспортных и промышленных сетях.