Программирование 32-х разрядных МК

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Землекоп пишет:
40 лет таких по пустыне водить надо
Судя по нику тебе больше 40 лет, и все это время ты бесцельно бродишь по пустыне, а мог бы школу закончить и институт.

diger67
Offline
Зарегистрирован: 25.07.2015

Andy пишет:

Землекоп пишет:
40 лет таких по пустыне водить надо
Судя по нику тебе больше 40 лет, и все это время ты бесцельно бродишь по пустыне, а мог бы школу закончить и институт.

Задал тот же вопрос жене, она к програмированию не имеет ни кого отношения. Даже она не задумываясь дала ответ что если принять 0 за первую ступень а 4095 за последнюю, то получается всего 4096 ступеней. ПОЗОР!!!!!!!!!! Задумайся, может тебе лучще улицы подметать!!!

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:

Andy.Да отвлекитесь вы от своего бреда, скачайте примеры от ST по ADC и посмотрите что да как. А то уперлись в свою божественную сущьнсть и ни с места. Или вам религия CMSISшника не позволяет.

Бредогенератор подсказывает, как сподручнее изобличить его бред. Никогда такого не видел. Необычный случай, но пришлось так и сделать. Скачал примеры и вижу, что там тоже делят на 4095

Ау, землекоп, че делать-то будем?

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Землекоп пишет:
Задал тот же вопрос жене, она к програмированию не имеет ни кого отношения. Даже она не задумываясь дала ответ что если принять 0 за первую ступень а 4095 за последнюю, то получается всего 4096 ступеней. ПОЗОР!!!!!!!!!! Задумайся, может тебе лучще улицы подметать!!!
Никто и не спорит, что 4096 отсчетов, но в формулу подставляется 4095, тебе просто это не дано понять, так же, как не дано решить задачку с процентами.

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:
Задал тот же вопрос жене, она к програмированию не имеет ни кого отношения.

Подземная логика от земплекопа: о программировании надо спрашивать тех, кто не имеет к нему никакого отношения. Это, если я правильно перевел фразу "она к програмированию не имеет ни кого". Если не правильно, то возникает вопрос, кого жена имеет не к программированию ?

ssss
Offline
Зарегистрирован: 01.07.2016

Andy пишет:

но в формулу подставляется 4095

Держи! AN3964 от СТМ.

Цитата:

Val_VREFINT = VREFINT × 2^12 ⁄ VREF+ = VREFINT × 4096 ⁄ VDDA

Подставляются только такие дауны как ты и аписсяточко.

 

diger67
Offline
Зарегистрирован: 25.07.2015

Я рад что ты еще не стер руки в кровь, значит печатать еще можешь. Раздвигай булки, тебе прилетело от ssss

И на последок, учи русский, и не только, если не понимаешь, тяжело тебе придется в жизни убогому....

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

возникает вопрос

А толку? Не загуглить, не прочитать, не посчитать, не подумать, ни хрена ты не можешь, только своей справкой из психдиспансера размахивать можешь. Ты явно здесь для подтверждения своего звания "мудак".

http://www.efo.ru/doc/Silabs/Silabs.pl?2089

http://www.efo.ru/doc/Silabs/Silabs.pl?2370

a5021
Offline
Зарегистрирован: 07.07.2013

Как тут уже было сказано, полный даун тот, кто не может представить простейшую вещь -- однобитный АЦП, единственный разряд которого может принимать два значения -- 1 и 0.

Если бы было v = adc * vref / 2**1, то при измерении одного вольта, при vref также равному 1в? вычисленное значение оказалось бы равно 0.5в, а в целочисленной арифметике 0. v = 1 * 1 / 2 = 0.5

Вывод -- те, кто любит посылать других в школу, подсознательно обозначают значимость этого вопроса конкретно для себя.

 

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

Как тут уже было сказано, полный даун тот, кто не может представить простейшую вещь -- однобитный АЦП, единственный разряд которого может принимать два значения -- 1 и 0.

Если бы было v = adc * vref / 2**1, то при измерении одного вольта, при vref также равному 1в? вычисленное значение оказалось бы равно 0.5в, а в целочисленной арифметике 0. v = 1 * 1 / 2 = 0.5

Вывод -- те, кто любит посылать других в школу, подсознательно обозначают значимость этого вопроса конкретно для себя.

 

Вы мыслите DEC системой счисления и этим все сказано, по вашему АЦП у всех производителей расчитывается исходя из 4096 возможных значениы, а у STMicro 4095. Далеко идущие "умозаключение", а главное аксимома не требыющая доказательств. Что касается приведенного примера, то нет ни чего странного, накосячили в мануале, а потом без зазрения совести перенесли в код примера. Столкнулся с таким косяком в библиотеке для M4 при работе с внешней памятью. Компилирую и запускаю пример от ST и как резултат полная белиберда. Долго ищу проблему в кривых руках, тупых мозгах, все тчетно. Захожу на сайт ST спустя некоторое время, там обнавленная библиотека, скачиваю пробую и все работает без бубна, парадокс, а вот и нет, косяк от производителя.

a5021
Offline
Зарегистрирован: 07.07.2013

Укажите ошибку в логике вычислений для однобитного ацп или умолкните. Однобитный ацп, он вообще ничей, чтобы никакие имена вас не смущали.

ssss
Offline
Зарегистрирован: 01.07.2016

diger67 пишет:

по вашему АЦП у всех производителей расчитывается исходя из 4096 возможных значениы, а у STMicro 4095. Далеко идущие "умозаключение", а главное аксимома не требыющая доказательств.

Если бы это было так. Но им вера (во что только?) заменяет знания. Дебилы они одним словом, аписсяточко ещё и коронованный "мудак". Если сравнить выдержки из апноты от СТМ с текстом на сайте эфо, то там различий никаких и нет, да их и быть не может. Но обосранцы слизывая собственное гавно продолжают доказывать что это шоколад под номером 4095. Остаётся пожелать им удачи и бон аппетит. ))))))))))))))))))

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Укажите ошибку в логике вычислений для однобитного ацп

Может проще указать на ошибку в твоём ДНК? )))))))))))))))))))

diger67
Offline
Зарегистрирован: 25.07.2015

И все же куда вы деваете значение равное 0 когда на входе напряжение равно 0. 4095 это максимальное значение которое может принимать регистр DR АЦП, это верно. А вот количество измеряемых уровней 4096. 

a5021
Offline
Зарегистрирован: 07.07.2013

ssss пишет:
Может проще указать на ошибку в твоём ДНК?

Да-да. Ссылки на третьи сайты с корявыми переводами древних референсов от столь же древних чипов сторонних фирм -- это и есть мощнейшее доказательство, как надо на STM32F0 конвертировать отсчеты в вольты? А уж когда вы спасовали перед однобитным ацп и вовсе стало ясно, отчего тема про ошибки ДНК вам так знакома. Не способны, стало быть, к простейшим арифметическим действиям?

diger67 пишет:

И все же куда вы деваете значение равное 0 когда на входе напряжение равно 0.

Я никуда не деваю. 0 = 0 * 1 / 1. Не находите, что равенство верно ? Хотя, я наверное многого от вас требую. Рано вам за такие сложные задачи браться. Судя по тому, какой вы бред выкатили про четырехбитный ацп, который потом столь же стремительно удалили, как и выдали, постижение разрядности АЦП для вас может происходить не быстрее одного разряда в год. Вобщем, через двенадцать лет поговорим.

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016
a5021
Offline
Зарегистрирован: 07.07.2013

Да у всех производителей есть такое. Вот фрискейловский апноут с одобрением теперь уже NXP (если принять позицию местных шаромыжников, то получается, что и эти две фирмы тоже нихрена не понимают в аналогово-цифровых преобразованиях):

На этой картинке, кстати, в одном месте описано, как считается значение и как разрешение, а так же в каких случаях используется 2**n, а в каких 2**n - 1. Спорим, что оба дубиноголовых нифега не сообразят, что к чему?

PS. Вот вы смеетесь, а местная истеричка со свистящим названием сейчас гугл обрушивает. Ищет методологию натягивания презерватива на глобус.

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

Я никуда не деваю. 0 = 0 * 1 / 1. Не находите, что равенство верно ? Хотя, я наверное многого от вас требую. Рано вам за такие сложные задачи браться.

Вы наверное дураком кидаетесь, 0xFFF сколько, правильно 4095, но куда девалось значение 0х000, А? Это и есть 4096 уровень при измерение, вот в этом и заключается подвох ошибки. Конечно обидно что при расчете не получается четко 3.3в, а как хочется........)))) Ненадо выдавать желаемое за действительное.

ssss
Offline
Зарегистрирован: 01.07.2016

diger67 пишет:

Вы наверное дураком кидаетесь

Что вы. Он подтверждает своё звание дурака! И у него это получается! ))))))))))))))))))))))))

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Да-да. Ссылки на третьи сайты с корявыми переводами древних референсов от столь же древних чипов сторонних фирм -- это и есть мощнейшее доказательство, как надо на STM32F0 конвертировать отсчеты в вольты?

А докажи обратное? Покажи различия! Не можешь? Тогда засунь свой язык в жопу, где ему и место. )))))))))))))))))

a5021
Offline
Зарегистрирован: 07.07.2013

А мне нравится, ssss, как по вам ваше же течет. Это какой уже случай подряд с вами, сбился я со счета? Ничему вас жизнь не учит.

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

Да у всех производителей есть такое. Вот фрискейловский апноут с одобрением теперь уже NXP (если принять позицию местных шаромыжников, то получается, что и эти две фирмы тоже нихрена не понимают в аналогово-цифровых преобразованиях):

Исходя из вашей логики весь интернет пестрит слабоумием на тему ADC, один вы, а нет еще и Andy сияете как солнце спасая заблудших. Хорошь пуляться какашками

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:
Исходя из вашей логики весь интернет пестрит слабоумием на тему ADC, один вы, а нет еще и Andy сияете как солнце спасая заблудших.

Т.е. вы не поняли, что там написано? Хотя, в общем, не для вас и старался.

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

А мне нравится, ssss, как по вам ваше же течет. Это какой уже случай подряд с вами, сбился я со счета? Ничему вас жизнь не учит.

Угу! А звание "мудак" то тебе присвоили. )))))))))))))))))))

 

a5021
Offline
Зарегистрирован: 07.07.2013

Да мне как-то все  равно, что и кому вы там присвоили. Тоже мне, Нобелевский Комитет самопровозглашенный. Да и главное не в том, что кому где-то там присвоили, а что конкретно течет по несчастному здесь, на глазах у всех. А ведь и вы и я и многие, подозреваю, читающие видят, что и по кому. Так перед кем вы тут ваньку валяете?

А вообще, конечно, прикольно получилось, как ардуинщики подловили отмороженного фаната STM32 на том, что он на STM32 отсчеты в вольты перевести не может. Гы.

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

diger67 пишет:
Исходя из вашей логики весь интернет пестрит слабоумием на тему ADC, один вы, а нет еще и Andy сияете как солнце спасая заблудших.

Т.е. вы не поняли, что там написано? Хотя, в общем, не для вас и старался.

Верхние выводы вырван из контекста. С нижним вариантом все понятно.

a5021
Offline
Зарегистрирован: 07.07.2013

Я зачем ссылку на весь апноут давал? Как раз, чтобы вы про контекст не заикались. Не помогло.

diger67
Offline
Зарегистрирован: 25.07.2015

Ну так и что там противоречит моему утверждению. Там написано что при расчете учитывается 0 бит, т.е. 4096. И что? Только вызывает подозрение равенство 3.3/212 = 0,0155660377358491 = 3.3/4096 = 0,0008056640625, что  то тут не вяжется.

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Я зачем ссылку на весь апноут давал?

А доказательством чего это является, что ты занимаешся подтасовкой фактов? Принято! ))))))))))))))))))))

Полка последнего значения 4095 тянется от 4094,5 до 4095,5, т.е. +-0,5LSB. И это есть в апноте от СТМ. Включи остатки своего мозга, откуда тогда берётся значение 4095,5, если по твоему 4095 это уже физический предел? Что, твой говномозг снова закипел? Начинай опять свою истерику! ))))))))))))))))

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

ардуинщики подловили

Ты хотел сказать "обосрались" подловить? ))))))))))))))))))))

ssss
Offline
Зарегистрирован: 01.07.2016

diger67 пишет:

что  то тут не вяжется.

У дебилов типа аписсяточко всё вяжется. ))))))))))))))))))))))

А вот посчитать значение в вольтах при известном значении 1LSB не могут, калькулятор у них сломался, или мозги? ))))))))))

a5021
Offline
Зарегистрирован: 07.07.2013

ssss пишет:
Ты хотел сказать "обосрались" подловить?

Да вам напомнят при случае, не переживайте.

a5021
Offline
Зарегистрирован: 07.07.2013

ssss пишет:
Полка последнего значения 4095 тянется от 4094,5 до 4095,5, т.е. +-0,5LSB. И это есть в апноте от СТМ.

Неназванный апноут, который конечно же нужно найти самостоятельно? В сад. Хватит с меня землекопа с его настоятельным требованием найти пример и убедиться. Убедился в том, что если тычут пальцем куда-то в неопределенную сторону, то там скорее всего находится опровержение слов тычущего, а вовсе не подтверждение.

Да и накласть мне на эту вашу полку. Референсы и апноуты от STM, Microchip, NXP/Friscale, как бы, недвусмысленно указывают, что на что делить надо. С рассказами о полках вам лучше к кладовщику какому пойти. Там разговор содержательнее может получиться.

ssss пишет:
А вот посчитать значение в вольтах при известном значении 1LSB не могут, калькулятор у них сломался, или мозги?

Мож перевести, что 1LSB означает, а то ведь полную херь несете с полкой в одной руке и калькулятором в другой ?

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Да вам напомнят при случае, не переживайте.

Что ты дебил, пардон, мудак? За сегодня уже дважды напомнили. ))))))))))))))

a5021
Offline
Зарегистрирован: 07.07.2013

Трижды. Вы землекопа не посчитали, а он все-таки ваш брат. Не хорошо.

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Да и накласть мне на эту вашу полку.

Да лучше сразу на себя и наложи. ))))))))))))))))

a5021
Offline
Зарегистрирован: 07.07.2013

Не могу. Не имею морального права посягать на вашу уникальность.

diger67 пишет:
Ну так и что там противоречит моему утверждению. Там написано что при расчете учитывается 0 бит, т.е. 4096. И что? Только вызывает подозрение равенство 3.3/212 = 0,0155660377358491 = 3.3/4096 = 0,0008056640625, что  то тут не вяжется.

Не вяжется здесь только одно -- ваша неспособность определить, что в формуле куда-то съехало форматирование и на самом деле тамошнее 212 -- это 2 в 12-ой степени. Еще и делить взялись при том, что 3.3/212 никогда не может быть равно 3.3/4096. Блеснули, в общем, сообразительностью, о чем неприминули тут же доложиться. Радует еще, что брат ваc не бросил, как в прошлый раз, а с радостью поддержал (см #481) в этой шизофрении.

diger67
Offline
Зарегистрирован: 25.07.2015

Смотрел в первоисточнике, ни куда там ни чего не съехало, как написали, так и прочитал. Ну и в сухом остатке 2 в 12 степени это и есть 4096. Тогда написанное верно, как и сказанное, где сдесь противоречие.

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Не вяжется здесь только одно

Да у тебя сплошные конфузы и отмазки. А знания твои где, дебилко? ))))))))))))))))

a5021
Offline
Зарегистрирован: 07.07.2013

С чего бы это такой острый интерес, когда вы который день бравируете, что знания -- это последнее, что вам может потребоваться в жизни?

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:
Ну и в сухом остатке 2 в 12 степени это и есть 4096.

Че, правда? Выходит, не обманули в апноуте, написав, что 3.3/2**12 = 3.3/4096 ? Вы молодец. Так ловко и быстро во всем разобрались, что аж завидки берут.

Цитата:
Тогда написанное верно, как и сказанное, где сдесь противоречие.

Раз уж понять у вас не получается, попробуйте догадаться, где может находиться противоречие. Подсказка -- вам нужно выбрать из двух вариантов: а) в ваших дремучих представлениях; б) в тексте апноута фрискейла. Кажется, я знаю, что вы собираетесь выбрать. Смелее. Ваш визжащий братец сгорает от нетерпения выразить вам восхищение вашей мудростью.

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:

Вы наверное дураком кидаетесь, 0xFFF сколько, правильно 4095, но куда девалось значение 0х000, А? Это и есть 4096 уровень при измерение, вот в этом и заключается подвох ошибки. Конечно обидно что при расчете не получается четко 3.3в, а как хочется........)))) Ненадо выдавать желаемое за действительное.

Бредить не устали еще?

V = ADC * VREF / (2 ** n - 1)

при VREF = VDDA = 3.3в и подаче на вход АЦП тех же самых 3.3в все начинает выглядеть так:

3.3в = 4095 * 3.3 / 4095.

Возражения имеются ? Теперь подаем на вход АЦП ноль:

0в = 0 * 3.3 / 4095

Так что вы говорили у вас "не получается четко" ?

Я еще кое-какую табличку набросал. Так, некий условный АЦП "безразмерной" разрядности, которому можно выставлять VREF от 1в до 5в с шагом 1 вольт. Тело таблицы содержит значения напряжений на входе, которые соответствует отсчетам этого воображаемого АЦП, вычисленные с использованием формулы приведенной выше. Не прокомментируете с высот вашей неземной мудрости?

Братца вашего юродиевого тоже касается. Я подставил значения в формулу, как он просил. Зовите, пусть жрать идет.

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Землекоп пишет:
0xFFF сколько, правильно 4095, но куда девалось значение 0х000, А?
Дибил, у тебя наверно и в рубле 101 копейка, и в метре 101 см... Иначе куда делись значения 00?

Прстая задачка на пропорции для 6 класса:

Максимальное значение АЦП = 0xFFF соответствует 3.3В или 100%. Чему соответсвует значение 0x666, 1.2В или 28%?

Не сомневаюсь, что эту задачку тебе не решить. Спроси свою жену, у неё-то 100 коп в рубле.

Открою тебе страшную тайну, значение младшего значащего разряда равно 0x001  и таких значений в 12 битном АЦП 4095. Да, да, 4095, а не 4096.

Выпейте яду на пару с недоумком Sукиным Sыном.

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

V = ADC * VREF / (2 ** n - 1)

при VREF = VDDA = 3.3в и подаче на вход АЦП тех же самых 3.3в все начинает выглядеть так:

3.3в = 4095 * 3.3 / 4095.

Не надоело свой бред генерить?  )))))))))))

Цитата:

Gain error is defined as the deviation between the last actual transition and the last ideal
transition. Gain error is represented as EG.
The last actual transition is the transition from FFEh to FFFh. Ideally, there should be a
transition from FFEh to FFFh, when the analog input is equal to VREF+ – 0.5LSB. So for
VREF+= 3.3 V, the last ideal transition should be at 3.299597 V.

Читать умеешь? Или в школу ещё не ходил? )))))))))))))))

ssss
Offline
Зарегистрирован: 01.07.2016

Andy пишет:

Максимальное значение АЦП = 0xFFF соответствует 3.3В или 100%.

Не соответствует! Английским по белому написано. Иди учи жену щи варить, гавкалко. ))))))))))))))

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Вот и выяснилрось кто здесь читать не умеет. Значению 0xFFF соответствуют напряжения от 3.3в-0.5 LSB до 3.3в+0.5 LSB.

Иди топись, говнюк, или возьми английский букварь.

ssss
Offline
Зарегистрирован: 01.07.2016

Ну ты и дебил! )))))))))))))))

Для особо отбитых мозгами, которые только гавкают на людей

VREF+ – 0.5LSB !!!!!!!!!! )))))))))))))))

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Дибил, читай свою же цитату: Vref+ = 3.3V

Ах, да, букварь не забудь взять.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

При преобразовании следует представить, что весь интервал от Vref- до Vref+ разделен на 2^N маленьких интервальчиков.

Номер интервала, в который попало измеряемое напряжение - это значение, которое выдает АЦП (ADC).

НИЖНЯЯ ГРАНИЦА этого интервла == Vref-  +  ADC*(Vref+ - Vref-) / 2^N.

Еще раз - НИЖНЯЯ граница интервала.

Формула, в которой деление на (2^N - 1) - имеет инженерный характер, она дает не точное значение границы интервала, а промежуточное:

При малых значениях ADC - ближе к нижней границе, при больших - ближе к верхней. Так, чтобы при максимальном значении номера интервала (ADC), формула бы дала Vref+.

--------------------

Еще раз: в надежде победить поток фекалий и странное упрямство.

ПОДХОДЯТ ОБЕ ФОРМУЛЫ!

Математически верна та, где делим на 4096 - она дает точное значение НИЖНЕЙ границы.

Удобнее для программирования та, где делим на 4095, потому, что она дает Vref+, при ADC=4095.

Разница значений, вычисленных по обеим формулам меньше LSB.

 

ssss
Offline
Зарегистрирован: 01.07.2016

Так вопрос и был изначально в том, что эти дебилы этого не знают, не знают почему 4095 или 4096, что не знают даже принцип работы АЦП, но с пеной у рта что-то там варнякают. Вот дебилы! ))))))))))))))))))))))