Есть ли в отрасли общепринятое название для того, что я пытаюсь сделать?
Уровень аппаратной абстракции (HAL) подходит ближе всего. Имейте в виду, что упомянутые шины являются аппаратными стандартами, которые не определяют протоколы более высокого уровня. На более высоких уровнях это можно назвать «сокетами», хотя обычно это относится к IP.
Является ли эта концепция даже хорошей идеей?
Вероятно, нет, если у вас нет специальных требований c.
Например, было бы неплохо, если бы вы sh заменили старую сеть RS-485 на CAN, но сохранили старое оборудование. В этом случае имеет смысл иметь как можно большую часть программного обеспечения, совместимого с этим конкретным проектом c.
В противном случае, с общей точки зрения, каждая из этих шин выбирается в соответствии с совершенно разными требованиями. CAN, если вам нужна надежная и надежная система, UART, когда вам нужна обратная совместимость, SPI, когда вам нужна быстрая, синхронная, почти полная связь, Ethe rnet, когда вам нужна быстрая связь на большие расстояния и c и др c. Требования к оборудованию одной шины могут исключать другую.
Например, если я хочу, чтобы мой MCU связывался с «тупым» ЖК-дисплеем, имеет смысл только SPI. Возможно, мне придется переключать дополнительные контакты ввода / вывода вместе с сигналами SPI. Я мог бы хотеть использовать DMA. Et c. В этом контексте для меня нет никакой пользы, если мне нужно использовать абстрактный коммуникационный API, который переносим в CAN, Ethe rnet et c. Это просто глупость - этот код никогда не будет работать ни на одной из этих шин!
Гораздо разумнее разработать HAL для каждого типа шины, чтобы у вас был один SPI HAL, который переносим между микроконтроллерами. Это распространено и действительно полезно.