Giannidpc
SAT 24 июня 2017 г. 16:04
Я только что проверил АЦП на своей плате Nucleo STM32F091 и показывает 10-битную резолюцию, такую как оригинал Arduino's, но моя доска поддерживает 12-битный. Если я заглядываю на исходный код, я вижу, что разрешение также определено как 12-битная.
Нужно ли мне установить что-то по-другому для достижения 12-битного разрешения?
Исходный код: https: // github.com/stm32duino/arduino_ ... /вариант.час
Нужно ли мне установить что-то по-другому для достижения 12-битного разрешения?
Исходный код: https: // github.com/stm32duino/arduino_ ... /вариант.час
void setup() {
Serial.begin(9600);
}
void loop() {
long sensorValue = analogRead(0);
Serial.println(sensorValue);
}
Рик Кимбалл
SAT 24 июня 2017 г. 16:17
https: // github.com/stm32duino/arduino_c ... алог.C#L32
Может быть, вызов анагенпиляция (12) в setup ()
Может быть, вызов анагенпиляция (12) в setup ()
Giannidpc
SAT 24 июня 2017 г. 16:31
[Рик Кимбалл - Сб 24 июня 2017 г. 16:17] - https: // github.com/stm32duino/arduino_c ... алог.C#L32Спасибо! это действительно делает свое дело.
Может быть, вызов анагенпиляция (12) в setup ()
Еще один вопрос, я определил АЦП на порту A0 в своем коде, и он работает нормально, когда я подключаю напряжение к A0. Но если я подключаю свой провод к A1, например, это также показывает мне это значение ADC, даже когда я не сказал своему коду сделать это. Это нормальное поведение?
Rogerclark
SAT 24 июня 2017 г. 11:15 вечера
[Рик Кимбалл - Сб 24 июня 2017 г. 16:17] - https: // github.com/stm32duino/arduino_c ... алог.C#L32Это интересно.
Может быть, вызов анагенпиляция (12) в setup ()
В нем не понял, что ядро Фредерикс не дефолт в разрешении AVR, мне интересно, что по умолчанию Даниэля по умолчанию.
КСТАТИ. Я не собираюсь менять то, что делает Libmaple, так как для него уже было написано множество кодов и ожидает 12 бит
Стивестронг
Солнце 25 июня 2017 г. 9:07
[Rogerclark - SAT 24 июня 2017 г. 11:15 вечера] - Кстати. Я не собираюсь менять то, что делает Libmaple, так как для него уже было написано множество кодов и ожидает 12 битДействительно, это кажется чистой проблемой arduino_core, а не основной.
Даниэфф
Солнце 25 июня 2017 г. 9:36 утра
[Rogerclark - SAT 24 июня 2017 г. 11:15] -10 бит. анализародование Является ли стандартный API Arduino для изменения аналогичных битов по умолчанию 10.[Рик Кимбалл - Сб 24 июня 2017 г. 16:17] - https: // github.com/stm32duino/arduino_c ... алог.C#L32Это интересно.
Может быть, вызов анагенпиляция (12) в setup ()
В нем не понял, что ядро Фредерикс не дефолт в разрешении AVR, мне интересно, что по умолчанию Даниэля по умолчанию.
КСТАТИ. Я не собираюсь менять то, что делает Libmaple, так как для него уже было написано множество кодов и ожидает 12 бит
Ахулл
Солнце 25 июня 2017 г. 10:25
ПРИМЕЧАНИЕ. Глядя на документацию API, кажется, что изменение разрешения с использованием анализародолизации (x) просто изменяет разрешение результата.
12 -битное чтение все еще будет выполнено, в случае ADC STM32FXXX.
Другими словами, снижение разрешения не приведет к более быстрым аналогом вызовов чтения и на самом деле может сделать их медленнее, поскольку вызов также будет включать время, необходимое для масштабирования результата в требуемый диапазон.
12 -битное чтение все еще будет выполнено, в случае ADC STM32FXXX.
Другими словами, снижение разрешения не приведет к более быстрым аналогом вызовов чтения и на самом деле может сделать их медленнее, поскольку вызов также будет включать время, необходимое для масштабирования результата в требуемый диапазон.
Рик Кимбалл
Солнце 25 июня 2017 12:40
[Giannidpc - Сб 24 июня 2017 г. 16:31] - Еще один вопрос, я определил АЦП на порту A0 в своем коде, и он работает нормально, когда я подключаю напряжение к A0. Но если я подключаю свой провод к A1, например, это также показывает мне это значение ADC, даже когда я не сказал своему коду сделать это. Это нормальное поведение?Я не понимаю вопрос. Это «показывает вам значение АЦП», что это значит? Можете ли вы опубликовать код, который вы используете?
Рик Кимбалл
Солнце 25 июня 2017 12:48
[Ахулл - Солнце 25 июня 2017 г. 10:25] - ПРИМЕЧАНИЕ. Глядя на документацию API, кажется, что изменение разрешения с использованием анализародолизации (x) просто изменяет разрешение результата.Картирование довольно простое, когда они разные, просто сдвиг. Реальные накладные расходы-гигантская библиотека HAL, сидящая перед ADC в сочетании с менталитетом Arduino Lazy PIN. Если вы хотите выполнить оптимальную выборку АЦП с высокой скоростью, то вы, вероятно, хотите отойти от кода Arduino и реализовать его с кодом, родным для чипа, который вы используете.
12 -битное чтение все еще будет выполнено, в случае ADC STM32FXXX.
Другими словами, снижение разрешения не приведет к более быстрым аналогом вызовов чтения и на самом деле может сделать их медленнее, поскольку вызов также будет включать время, необходимое для масштабирования результата в требуемый диапазон.
Giannidpc
Солнце 25 июня 2017 13:26
[Рик Кимбалл - Солнце 25 июня 2017 12:40] -Ну, код такой же, как в моем первом посте. Но я имею в виду, что я определил A0 как свой аналоговый вывод в коде, и я получаю свой вывод от серийного монитора, как и ожидалось, то есть 4095 при использовании 12-битного разрешения.[Giannidpc - Сб 24 июня 2017 г. 16:31] - Еще один вопрос, я определил АЦП на порту A0 в своем коде, и он работает нормально, когда я подключаю напряжение к A0. Но если я подключаю свой провод к A1, например, это также показывает мне это значение ADC, даже когда я не сказал своему коду сделать это. Это нормальное поведение?Я не понимаю вопрос. Это «показывает вам значение АЦП», что это значит? Можете ли вы опубликовать код, который вы используете?
Но когда я отключаю 5V от A0 и подключаю его к A1, серийный монитор все еще показывает мне тот же результат, так что 4095. Я не ожидаю этого, так как я определил A0 как свой аналоговый PIN -код в коде, а не A1.
Рик Кимбалл
Солнце 25 июня 2017 г. 13:35
Я уверен, что вы должны использовать A0, а не 0 и A1, а не 1, так я и тестировал. В противном случае это не собирается поступить правильно:
Читать A0:
Читать A0:
void setup() {
Serial.begin(9600);
analogReadResolution(12);
}
void loop() {
long sensorValue = analogRead(A0);
Serial.println(sensorValue);
}
Рик Кимбалл
Солнце 25 июня 2017 14:21
[Giannidpc - Солнце 25 июня 2017 г. 13:26] - Но когда я отключаю 5V от A0 и подключаю его к A1, серийный монитор все еще показывает мне тот же результат, так что 4095. Я не ожидаю этого, так как я определил A0 как свой аналоговый PIN -код в коде, а не A1.Кроме того, вы не должны подключать 5 В к какому -либо аналоговому штифту. При использовании в качестве аналогового ввода максимальное напряжение составляет 3.3В. Вы рискуете жарить аналоговое периферийное устройство.
Из таблицы данных:
TTA 3.3 V-толерантный ввод/вывод, непосредственно подключенный к ADC ..
PA1 помечен TTA
Ахулл
Солнце 25 июня 2017 г. 14:25
[Giannidpc - Солнце 25 июня 2017 г. 13:26] -Я не уверен, что следую. Если вы смотрите на PIN A1, но ваш вход находится на выводе A0, то если A1 не связан с высоким или низким уровнем, он вполне может дрейфовать к уровню соседнего штифта (ы).[Рик Кимбалл - Солнце 25 июня 2017 12:40] -Ну, код такой же, как в моем первом посте. Но я имею в виду, что я определил A0 как свой аналоговый вывод в коде, и я получаю свой вывод от серийного монитора, как и ожидалось, то есть 4095 при использовании 12-битного разрешения.[Giannidpc - Сб 24 июня 2017 г. 16:31] - Еще один вопрос, я определил АЦП на порту A0 в своем коде, и он работает нормально, когда я подключаю напряжение к A0. Но если я подключаю свой провод к A1, например, это также показывает мне это значение ADC, даже когда я не сказал своему коду сделать это. Это нормальное поведение?Я не понимаю вопрос. Это «показывает вам значение АЦП», что это значит? Можете ли вы опубликовать код, который вы используете?
Но когда я отключаю 5V от A0 и подключаю его к A1, серийный монитор все еще показывает мне тот же результат, так что 4095. Я не ожидаю этого, так как я определил A0 как свой аналоговый PIN -код в коде, а не A1.
Я получил бы пару линейных ям 100 тыс., Строил их между 5 В и ГНД, и указал бы дворники на контактах A0 и A1, и медленно вращал стеклоочиститель с конца GND к концу 5V.
Вы должны увидеть значения на аналоговых выводах, которые пройдут, пока не достигнет максимума, когда выходной разделитель напряжения, образованный 100 -километровым горшком, попадает около 3.3В .. Что произойдет дальше, если вы перемещаете стеклоочиститель дальше, скорее зависит от того, насколько надежны выводы STM32F103, которые вы выбрали.
Если они терпимы на 5 В (помните, что STM32F103 - 3.3V устройство, а не 5 В, один), затем они останутся на максимальном значении, и когда вы поверните стеклоочиститель обратно в сторону GND, значение снова начнет падать. Если они не терпимы на 5 В, будет много тепла, возможно, немного дыма, и вы принесете себе почетное членство в нашем хорошо посещенном клубе Magic Smoke Club.
Еще лучше, проверьте спецификацию. Сначала из булавок в таблице данных STM32F103, чтобы убедиться, что они пострадают от такого неправильного использования.
РЕДАКТИРОВАТЬ: Спасибо, Рик, я должен признать.
Рик Кимбалл
Солнце 25 июня 2017 14:28
[Ахулл - Солнце 25 июня 2017 г. 14:25] - Если они терпимы на 5 В (помните, что STM32F103 - 3.3V устройство, а не 5 В, один), затем они останутся на максимальном значении, и когда вы поверните стеклоочиститель обратно в сторону GND, значение снова начнет падать. Если они не терпимы на 5 В, будет много тепла, возможно, немного дыма, и вы принесете себе почетное членство в нашем хорошо посещенном клубе Magic Smoke Club.Он использует STM32F091RC, материал Cortex-M0 с ядром STM.
Еще лучше, проверьте спецификацию. Сначала из булавок в таблице данных STM32F103, чтобы убедиться, что они пострадают от такого неправильного использования.
РЕДАКТИРОВАТЬ: Спасибо, Рик, я должен признать.
Ахулл
Солнце 25 июня 2017 г. 14:38
[Рик Кимбалл - Солнце 25 июня 2017 г. 14:28] -В этом случае, от моего короткого трали через таблица данных (Глава 6 - Электрические характеристики) Я подозреваю, что выкапывать аналоговые булавки с 5V, вероятно, довольно хороший способ вступить в клуб Magic Smoke Club.[Ахулл - Солнце 25 июня 2017 г. 14:25] - Если они терпимы на 5 В (помните, что STM32F103 - 3.3V устройство, а не 5 В, один), затем они останутся на максимальном значении, и когда вы поверните стеклоочиститель обратно в сторону GND, значение снова начнет падать. Если они не терпимы на 5 В, будет много тепла, возможно, немного дыма, и вы принесете себе почетное членство в нашем хорошо посещенном клубе Magic Smoke Club.Он использует STM32F091RC, материал Cortex-M0 с ядром STM.
Еще лучше, проверьте спецификацию. Сначала из булавок в таблице данных STM32F103, чтобы убедиться, что они пострадают от такого неправильного использования.
РЕДАКТИРОВАТЬ: Спасибо, Рик, я должен признать.
Giannidpc
Солнце 25 июня 2017 г. 14:52
[Ахулл - Солнце 25 июня 2017 г. 14:38] -Спасибо, что указали на это! Я действительно глуп, делая что -то, прежде чем прочитать лист данных. По крайней мере, все все еще работает, и я не видел никакого дыма, ха -ха.[Рик Кимбалл - Солнце 25 июня 2017 г. 14:28] -В этом случае, от моего короткого трали через таблица данных (Глава 6 - Электрические характеристики) Я подозреваю, что выкапывать аналоговые булавки с 5V, вероятно, довольно хороший способ вступить в клуб Magic Smoke Club.[Ахулл - Солнце 25 июня 2017 г. 14:25] - Если они терпимы на 5 В (помните, что STM32F103 - 3.3V устройство, а не 5 В, один), затем они останутся на максимальном значении, и когда вы поверните стеклоочиститель обратно в сторону GND, значение снова начнет падать. Если они не терпимы на 5 В, будет много тепла, возможно, немного дыма, и вы принесете себе почетное членство в нашем хорошо посещенном клубе Magic Smoke Club.Он использует STM32F091RC, материал Cortex-M0 с ядром STM.
Еще лучше, проверьте спецификацию. Сначала из булавок в таблице данных STM32F103, чтобы убедиться, что они пострадают от такого неправильного использования.
РЕДАКТИРОВАТЬ: Спасибо, Рик, я должен признать.
Рик Кимбалл
Солнце 25 июня 2017 г. 15:01
[Giannidpc - Солнце 25 июня 2017 г. 14:52] - Спасибо, что указали на это! Я действительно глуп, делая что -то, прежде чем прочитать лист данных. По крайней мере, все все еще работает, и я не видел никакого дыма, ха -ха.Это то, что люди из 60 -х годов сказали о ЛСД Просто подожди ...
Ахулл
Солнце 25 июня 2017 г. 16:03
Что нет волшебного дыма... Я почти разочарован.
fpistm
Вт 27 июня 2017 12:20
вау, здесь много дыма
Подводя итог, STM32 - 3.3V, основанная таким образом, предоставить 5V в качестве входного АЦП должен принести какое -то странное поведение... В основном для чтения АЦП.
К вашему сведению, на следующем выпуске анализа (0) и анализа (A0) будут эквивалентны.
Принимая во внимание, что аналог (0) эквивалентна аналоге (D0) .
Подводя итог, STM32 - 3.3V, основанная таким образом, предоставить 5V в качестве входного АЦП должен принести какое -то странное поведение... В основном для чтения АЦП.
К вашему сведению, на следующем выпуске анализа (0) и анализа (A0) будут эквивалентны.
Принимая во внимание, что аналог (0) эквивалентна аналоге (D0) .
Rogerclark
Вт 27 июня 2017 12:52
На тему Волшебного дыма, я уверен, что я случайно освоил доску F103VET или в нескольких часах 5 В, и он выжил !
Я думаю, что в целом MCU STM32F103 довольно устойчив
Я думаю, что в целом MCU STM32F103 довольно устойчив
ZMEMW16
Вт 27 июня 2017 г. 15:26
Роджер,
не могли бы вы попробовать это с 7.5 В / 9 В / 12 В и сообщите о ваших выводах
на самом деле 12V был бы излишним, так как я уже знаю, что ответ обилен.
Стивен
не могли бы вы попробовать это с 7.5 В / 9 В / 12 В и сообщите о ваших выводах
на самом деле 12V был бы излишним, так как я уже знаю, что ответ обилен.
Стивен
Рик Кимбалл
Вт 27 июня 2017 г., 17:39
[fpistm - Вт 27 июня 2017 12:20] - вау, здесь много дымаЯ попробовал последнюю версию исходного кода GitHub с этим изменением, и я могу убедиться, что она действительно работает всего лишь 1 сейчас в дополнение к A1.
Подводя итог, STM32 - 3.3V, основанная таким образом, предоставить 5V в качестве входного АЦП должен принести какое -то странное поведение... В основном для чтения АЦП.
К вашему сведению, на следующем выпуске анализа (0) и анализа (A0) будут эквивалентны.
Принимая во внимание, что аналог (0) эквивалентна аналоге (D0) .
Rogerclark
Вт 27 июня 2017 г., 21:32
[ZMEMW16 - Вт 27 июня 2017 г. 15:26] - Роджер,Я могу попробовать 5В еще раз, потому что у меня есть 2 старых красных досок таблеток, которые уже частично разбиты, так как USB -соединения продолжают ломаться
не могли бы вы попробовать это с 7.5 В / 9 В / 12 В и сообщите о ваших выводах
на самом деле 12V был бы излишним, так как я уже знаю, что ответ обилен.
Стивен