Изучив не мало статей, испробовав немало кода пришлось создавать свой использую какие то наработки. Начала я использовал программный комплекс Keil uVision5, ну в принципе как всегда, но обнаружил небольшие тормоза при компиляции проектов. С чем связана такая особенность Keil-ла я не разобрался пока. Но скаченный бесплатный программный комплекс от производителя процессоров компании ST STM32CubeIDE 1.6.0 решил все мои проблемы. Вот и так бывает когда бесплатный софт может все решить, в общем он компилировал проект за секунды в отличии от Keil uVision5, который это делал около 3-4мин.
Теперь о аппаратной части. Изначально было запланировано использовать микроконтроллер STM32F105 ну или вообще f0 серию, но в ходе освоения выяснилось, что у данных микроконтроллеров шины кан и юсб используют одни область памяти и поэтому не могут одновременно работать. Ну как, достаточно быстро не могут, но можно было применив кое какие так называемые программные «костыли» заставить их работать, но это все же «костыли». Всем вам известно о нынешних проблемах с микроконтроллерами вот и тут пришлось выбирать контроллер исходя из имеющихся в наличии по более-менее адекватной цене. Был приобретён не дохлый такой себе «камень» STM32F373CCT6, ранее c F3 серией я дел не имел, тем более интересен был опыт. По ходу освоения я понял, что для отладки донной вещицы одним девайсом я не обойдусь, было необходимо либо держать ЭБУ машины дома, чего мне никто не позволил бы (на машине ездит жена) , либо иметь еще одно устройство такое-же. Я решил выбрать последнее и приобрел еще один микроконтроллер STM32F105VCT6, ну что нашёл. В качестве приемо-передатчика кан была выбрана микросхема с гальванической развязкой iso1050, ну просто была когда-то куплена у братьев наших по рублю за пучек.
Были разведены и изготовлены 2 односторонние платы методом лут под один и под второй микроконтроллер, ну прототипы. Позже т.к. я ранее никогда не заказывал платы в поднебесной решил их заказать только сделал двусторонние и меньшего размера.
Да… классные конечно но их 5 куда 4 девать….
Потом для тестирования подключил обе платы к компу и запустил 2 программы и стал предавать сообщение с одной на другую.
В общем все заработало прошивки под оба микроконтроллера прилагаю:
плата + схема в диптрейсе
Прошивка stm32f373
Прошивка stm32f105