Насчет "самостоятельно" - наверняка придется.
Я, например, не нашел человеческой реализации 1-wire для STM32 (через таймер и DMA), поэтому пришлось колхозить свое.
но если задача - только термодатчик опрашивать, то можно и колхоз на UART'е взять (а то и с delay(), бррр).
ТСу же посоветую купить за 3-4 доллара китайский "вольтметр" на STM8 и к нему термодатчик DS18B20. В сети полно примеров, как переделать вольтметр на термометр.
Сам сейчас ковыряюсь с пятизначным - для начала хочу прошивку написать, которая будет работать как вольтметр, а там уж можно будет и чего-нибудь эдакое привесить.
Армянское Радио: не сказал бы. Да, даташит толстый. Но всякие USB и TCP/IP хорошо реализованы в libopencm3, а остальное лучше регистрами делать - надежней и шустрей получается.
Правда, STM32F103 как "первый блин" получился довольно глючным (там errata самая толстая). Но и самый популярный, тем не менее.
Ну, а если кому-то надо тыкать мышей наподобие ардуйни, то и такое УГ для STM32 сделали (cube называется). Только в приличном обществе не стоит говорить, что использовал cube, SPL или HAL — закидают же какашками ☺
Японский Городовой: Меня в STM такой момент останавливает - Необходимость инициализации каких-то странных структур для работы с периферией.
Понятно, что фактически идет передача структур, по которым библиотека должна заполнить регистры (попытка абстракции от конкретного камня), но в разных мануалах и примерах инициализация выполняется разными способами, что на первых порах ставит в тупик.
В то же время, с AVR написание идет без затруднений - бахай себе битики в регистры и вперед.
Японский Городовой: такое мнение сложилось - библиотеку делал программист на C++ (или Java), которого силком пересадили на C. Кругом попытки "обобъектить", "оструктурить" все что только под руку попадется.
Армянское Радио: так от этой дряни даже сами STM отказались. Теперь у них другая дрянь - HAL и cube.
Я не щупал, т.к. мне SPL хватило, но кто смотрел, отзывались негативно.
В общем, лучше брать opencm3 для USB и некоторых нетривиальных вещей, а простые штуки вручную регистрами.
Армянское Радио: вам прямая дорога к использованию таймеров и DMA. Очень четко работает. И совершенно не нужно заморачиваться насчет длины кода в обработчиках прерываний.