AG123
Солнце 07 января 2018 8:21
https: // jeelabs.org/article/1619b/
Казалось, это было в STM32F103 (я.эн. Весь BP & Мм и т. Д.), кто -нибудь играл с этим?
это казалось недооцениваемым полезным материалом
Казалось, это было в STM32F103 (я.эн. Весь BP & Мм и т. Д.), кто -нибудь играл с этим?
это казалось недооцениваемым полезным материалом
ZMEMW16
Солнце 07 января 2018 13:41
Любой получил 4 -е на английский переводчик
SRP
SRP
Дэнниф
Солнце 07 января 2018 г. 15:09
Вы должны просто думать об этом как аналоговый компаратор с высоким разрешением с программируемым порогом.
Mrburnette
Солнце 07 января 2018 г., 15:14
[AG123 - Солнце 07 января 2018 8:21] - <...>Я видел упоминание о возможностях в ST PDF AN2834
Казалось, это было в STM32F103 (я.эн. Весь BP & Мм и т. Д.), кто -нибудь играл с этим?
это казалось недооцениваемым полезным материалом
Тем не менее, я лично не реализовал это на скамейке. Звучит многообещающе.
Луча
AG123
Солнце 07 января 2018 8:28 вечера
На самом деле я ищу компаратора, а в STM32F103, простого аналогового компаратора нет. Вместо этого ST заменил компаратора двумя цифровыми пороговыми компараторами скрыть его в ADC и назвал его «аналоговым сторожевым псом», это тоже звучит хорошо
Обычная схема метра LC, основанная на NE555, использует 2 аналоговых компаратора в качестве детекторов триггера и перепада и настроен в качестве пристального многовибратора и имеет CPU 8051, подсчитывая импульсы, чтобы вывести частоту определить частоту
https: // www.Электронный отчет.org/lc-meter ... 555-timer/
Я думаю, что эти цифровые пороги / триггеры могут работать так же хорошо, как и эти обычные аналоговые, и я сохраняю проблемы с необходимостью дополнительного компаратора и т. Д
Но я думаю, что, возможно, есть и другие / лучшие способы, такие как установление таймера для запуска / запуска АЦП для образца после фиксированного интервала
Возьмите пару образцов, и я смог бы выработать индуктивность или емкость
Но я думаю, что этот «аналоговый сторожевой пейзаж» будет иметь гораздо больше вариантов использования, чем простой вариант использования измерителей LC, он может быть использован в качестве сенсорных триггеров от емкостных или индуктивных датчиков, или, например, это можно сделать для запуска при температуре Из датчика настройки температуры достигает определенной температуры
Обычная схема метра LC, основанная на NE555, использует 2 аналоговых компаратора в качестве детекторов триггера и перепада и настроен в качестве пристального многовибратора и имеет CPU 8051, подсчитывая импульсы, чтобы вывести частоту определить частоту
https: // www.Электронный отчет.org/lc-meter ... 555-timer/
Я думаю, что эти цифровые пороги / триггеры могут работать так же хорошо, как и эти обычные аналоговые, и я сохраняю проблемы с необходимостью дополнительного компаратора и т. Д
Но я думаю, что, возможно, есть и другие / лучшие способы, такие как установление таймера для запуска / запуска АЦП для образца после фиксированного интервала
Возьмите пару образцов, и я смог бы выработать индуктивность или емкость
Но я думаю, что этот «аналоговый сторожевой пейзаж» будет иметь гораздо больше вариантов использования, чем простой вариант использования измерителей LC, он может быть использован в качестве сенсорных триггеров от емкостных или индуктивных датчиков, или, например, это можно сделать для запуска при температуре Из датчика настройки температуры достигает определенной температуры
Арпрос
Вторник 23 января 2018 г., 4:30
[AG123 - Sun 07 января 2018 8:21 утра] - кто -нибудь играл с ним?Я только что использовал аналоговый сторож для реализации адаптера, который захватывает данные, форматированные IRDA, на беспроводной клавиатуре Palmon Palmon. Было довольно трудно понять, как его использовать, но, похоже, это работает. Входящие данные имеют высокий уровень около 1.53V, поэтому я использую АЦП, а не GPIO, чтобы захватить его. (Интересно, что данные также имеют реверсированные уровни из стандартной IRDA из -за того, где я собираю данные.)
Код действительно грязный, но, возможно, он поможет кому -то использовать аналоговый сторож:
https: // github.com/arpruss/palmirkeyboard_stm32f1
AG123
Вт 23 января 2018 г. 7:22 утра
интересный !
Я нашел несколько лучших кодов для использования STM32ADC, на самом деле он является частью распределения ядра Libmaple для F1
https: // github.com/rogerclarkmelbourne/ ... S/STM32ADC
Похоже, что коды, возможно, были внесены в Stevestrong и т. д.
Я видел некоторые коды, которые помогают использовать аналоговый сторож, я не использовал его лично, хотя
Я нашел несколько лучших кодов для использования STM32ADC, на самом деле он является частью распределения ядра Libmaple для F1
https: // github.com/rogerclarkmelbourne/ ... S/STM32ADC
Похоже, что коды, возможно, были внесены в Stevestrong и т. д.
Я видел некоторые коды, которые помогают использовать аналоговый сторож, я не использовал его лично, хотя
Арпрос
Вторник 23 января 2018 г. 14:05
Я начал с использования этой библиотеки, но она выглядит незаконченной, поэтому я просто закончил делать что -то напрямую с основными функциями.
Стивестронг
Вторник 23 января 2018 г. 15:34
[Арпрос - Вторник 23 января 2018 г. 14:05] - Я начал с использования этой библиотеки, но она выглядит незаконченной, поэтому я просто закончил делать что -то напрямую с основными функциями.Сообщество было бы очень рады видеть ваше развитие, это будет минимальный вклад с вашей стороны.
Арпрос
Ср 24 января 2018 г., 5:02
[Стивестронг - Вторник 23 января 2018 г. 15:34] -Может быть, в конце концов. Я все еще полирую свою библиотеку USBHID, чтобы сделать ее более дружелюбным для разработчиков. (Это уже довольно дружелюбно для разработчиков, если вы просто хотите использовать контроллер клавиатуры/мышь/джойстик/x360, но это не очень дружелюбно, если вы хотите реализовать новые устройства HID. И поддержка отчета о функциях/выводе по -прежнему немного беспорядочно.)[Арпрос - Вторник 23 января 2018 г. 14:05] - Я начал с использования этой библиотеки, но она выглядит незаконченной, поэтому я просто закончил делать что -то напрямую с основными функциями.Сообщество было бы очень рады видеть ваше развитие, это будет минимальный вклад с вашей стороны.
Арпрос
Чт 15 февраля 2018 г., 19:50
Кто -нибудь знает, смогу ли я иметь два аналоговых сторожевых пса, по одному на каждом АЦП, каждый смотрит на другое состояние на разных канала?
Стивестронг
Пт 16 февраля 2018 г. 8:12
Поскольку у ADC есть разные регистры, вы можете настроить разные WDS.
Но имейте в виду, что прерывания ADC1 и ADC2 отображаются на один и тот же вектор прерывания.
Но имейте в виду, что прерывания ADC1 и ADC2 отображаются на один и тот же вектор прерывания.
Арпрос
Пт 16 февраля 2018 г. 14:11
Могу ли я сказать в обработчике, какой из них был вызван?
Стивестронг
Пт 16 февраля 2018 г. 14:20
Похоже, текущая версия поддерживает только прерывания ADC1.
ADC2 даже не имеет таблицы обработчиков ISR.
https: // github.com/rogerclarkmelbourne/ ... E/ADC_F1.в
ADC2 даже не имеет таблицы обработчиков ISR.
https: // github.com/rogerclarkmelbourne/ ... E/ADC_F1.в
Арпрос
Пт 16 февраля 2018 г., 18:13
[Стивестронг - Пт 16 февраля 2018 г., 14:20] - Похоже, текущая версия поддерживает только прерывания ADC1.Я предполагаю, что вы имеете в виду текущую версию ядра, но все еще можно сделать это путем прямых манипуляций с регистрацией?
ADC2 даже не имеет таблицы обработчиков ISR.
https: // github.com/rogerclarkmelbourne/ ... E/ADC_F1.в
Арпрос
Пт 16 февраля 2018 г., 20:19
Глядя на код ядра, нужно было бы переопределить вектор обработчика IRQ, и, к сожалению, ядро определяет __IRQ_ADC () как сильный символ.
Я полагаю, что я мог бы просто сделать вторую копию векторов прерывания где -то в ОЗУ (чтобы я мог обеспечить необходимое выравнивание) и вызвать nvic_set_vector_table ()?
Я полагаю, что я мог бы просто сделать вторую копию векторов прерывания где -то в ОЗУ (чтобы я мог обеспечить необходимое выравнивание) и вызвать nvic_set_vector_table ()?
Rogerclark
Пт 16 февраля 2018 г., 21:15
Возможно, ядро можно изменить, чтобы сделать этот IRQ слабым.
Стивестронг
Сб 17 февраля 2018 г. 8:54
Определение ISR в порядке, только код должен быть расширен для обработки регистров ADC2.
Обработчики должны быть определены для ADC2, аналогично ADC1:
Обработчики должны быть определены для ADC2, аналогично ADC1:
void setup() {
Serial.begin(115200);
}
void loop() {
delay(1000);
Serial.println("holaq");
}