Цитата(SSerge @ Aug 26 2011, 13:13)

1. Инвертирование старшего бита даст совсем не тот результат, на который Вы рассчитывали. Для сдвига нужно просто вычитать константу.
Инвертирование старшего бита - это и есть вычитание константы 0x8000. Кстати, если кто не знает - если данные прижаты вправо, то вычитание 0x0800 инвертирует знаковый бит и одновременно расширяет знак - но это так, к слову.
Цитата(SSerge @ Aug 26 2011, 13:13)

Инжектет каналы, кстати, такой функционал имеют (см. ADC injected channel data offset register), а вот регулярные - увы, нет.
Я пытался про них прочитать но ничего не понял. Чем они отличаются от регулярных и почему так называются?
Цитата(SSerge @ Aug 26 2011, 13:13)

2. Какая-то обработка всё равно потребуется, иначе зачем оцифровывать? Вот там и вычитать смещение.
Потребуется только передавать их другому прибору. Инвертировать перед передачей опасно - вдруг в этот момент произойдет DMA. Поэтому в крайнем случае можно возложить это на тот прибор.
Цитата(Forger @ Aug 26 2011, 13:33)

Согласен. И более того в обработку можно включить даже простейшую цифровую фильтрацию: медианный фильтр, фильт скользщего среднего,
Повбывав бы!!!