Какой контакт замкнуть для перезагрузки stm
Перейти к содержимому

Какой контакт замкнуть для перезагрузки stm

  • автор:

Наверное самый дешевый CAN сниффер

При поиске подходящего USB CAN адаптера, предпочтительно на базе stm32, наткнулся на форум, где обсуждался китайский OBD2 адаптер на базе stm32. Как и обычно на форумах надо прочитать не одну страницу, чтобы войти в суть дела. Поэтому ниже кратко опишу содержание десятка страниц форума.

Китайцы продают на aliexpress obd2 адаптеры не только на микросхеме elm327, но и на базе stm32.
Ниже внешний вид такого адаптера, к внешним отличительным особенностям данного адаптера можно отнести отсутствие на корпусе адаптера упоминаний о elm327. Фотографии взяты с вышеупомянутого форума.

Под каплей находится микроконтроллер stm32.

Участники форума смогли восстановить схему такого адаптера, она приведена ниже.

Характеристики адаптера:
— Очень низкая цена 4$
— Перепрограммируемый процессор STM32F04(48MHz, 32kb flash, 6kb RAM)
— 3 светодиода, доступных для управления
— Доступ к CAN шине
— Доступ к шине K-line
— Прозрачный мост между последовательным портом stm32 и bluetooth на базе BK3231

Перепрограммирование stm32 дает возможность использования такого адаптера в следующих сценариях:
— сниффер CAN шины
— управление устройствами автомобиля через телефон, с помощью посылок специфичных CAN пакетов
— оперативное отображение параметров автомобиля на телефоне

Для перепрограммирования stm32 нужна программа от производителя stm STM32 Flash loader demonstrator и подключение к 3 выводам адаптера (TX, RX, BOOT0), расположенным на краю платы.

Процесс перепрограммирования stm32
1. подключить usb-com адаптер к ногам RX и TX
2. Замкнуть BOOT0 на Vdd(+3v).
3. Подать питание на ELM327.
4. Замкнуть-разомкнуть RESET на «минус».
5. Запустить программу «STMFlashLoader Demo.exe»(Flash Loader Demonstrator) и прошить stm32

Актуальные ссылки на obd2 адаптеры с stm32, на фотографиях через пластик просвечивается плата с каплей stm32.
Ссылки актуальны на январь 2019 года.
Адаптер №1
Адаптер №2

WatchDog ― устраиваем собаке допрос (с пристрастием)

Во всех микроконтроллерах (мк) есть такая полезная штука, как сторожевая псина (watchdog). Работает от внутреннего низкочастотного генератора (LSI), то есть за редким исключением можно сказать, что LSI ― «личный» таймер вотчдога, который будет работать даже если главный генератор подохнет (например, отвалится нога кварца). В угоду пуристам можно отметить, что при желании можно тактовать от LSI всю программу, но сейчас речь не об этом.

Итак, сторожевая псина призвана для одной цели ― ребутать мк в случае его зависания. Если основная программа в каком-то месте не успела сбросить таймер watchdog, то ее ждет аварийный ребут. И если в любительских устройствах поговорка «семь бед ― один резет» еще допустима, то в случае более серьезного использования желательно узнать причину перезагрузки. Но ведь после перезагрузки все данные потеряны, искать больше нечего. Или нет?

2. Инструменты

В качестве среды разработки мы будем использовать IAR (IAR Embedded Workbench for Arm, version 8.50.6), в качестве подопытного мк ― stm32f030f4p6, в качестве тоника ― чай, кофе, шило в…

3. Ой, а кто это сдееелал?

Если верить мануалу, то при перезагрузке мк сбрасываются в дефолт все регистры, кроме RCC_CSR. По его состоянию можно определить, почему произошел ребут. Вотчдогу выделен бит IWDGRSTF, вот его и будем использовать:

 . //инициализация переменных итд . void main(void) < if (RCC->CSR & RCC_CSR_IWDGRSTF) < while(1) < lcd_str("Ошибка в программе", 0); //вывод сообщения на дисплей/в терминал/etc sleep(100); >> //whatchdog init - обратите внимание, что собаку инитим ПОСЛЕ сообщения об ошибке IWDG->KR = 0xCCCC; /* (1) */ IWDG->KR = 0x5555; /* (2) */ IWDG->PR = IWDG_PR_PR_1; /* (3) */ IWDG->RLR = 0xFFF; /* (4) */ while(IWDG->SR); /* (5) */ while (1) < //тут код программы >

Бит IWDGRSTF сбрасывается вручную, либо по питанию (просто замкнуть reset не прокатит). Это очень удобно — после аварийного ребута можно например корректно остановить все оборудование, которым управляет мк, вывести на экран сообщение об ошибке, включить сигнализацию и ждать ответного гудка решения оператора. Но вот оператор подошел, увидел неполадку, а дальше что? Максимум что он может сделать — это включить/выключить устройство из розетки и написать разработчику, что его поделка зависает. Это, конечно, лучше, чем просто бездумный ребут, но хотелось бы больше информации. И тут на помощь приходит… Оперативка!

Все дело в том, что ОЗУ при перезагрузке мк через watchdog практически остается нетронутой. Вот если бы можно было заранее записать туда полезную информацию (например, номер строки зависания), а при ребуте прочитать…

4. Память: краткий экскурс по секциям

При компиляции программы формируется объектный файл, который поделен на секции:

  • .text — исполняемый код
  • .data — данные (переменные, инициализированные не нулем)
  • .bss — данные, которые нулевые по умолчанию
  • итд
5. Хачим конфиг линкера

Сначала идем в конфиг проекта и выбираем раздел Linker

Во вкладке Config надо нажать галку Override default, потом скопировать дефотный файл icf в папку с проектом и выбрать новый путь к файлу.

Далее создаем следующие файлы

extern unsigned int debugvar; // - explicit init

separately_inited_vars.c

#include "separately_inited_vars.h" unsigned int debugvar=0; // - explicit init

И подключаем, как обычную библиотеку.

После этого хачим новый файл icf.

/*###ICF### Section handled by ICF editor, don't touch! ****/ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ /*-Specials-*/ define symbol __ICFEDIT_intvec_start__ = 0x08000000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_end__ = 0x08003FFF; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20000FFF; /*-Sizes-*/ define symbol __ICFEDIT_size_cstack__ = 0x400; define symbol __ICFEDIT_size_heap__ = 0x400; /**** End of ICF editor section. ###ICF###*/ define memory mem with size = 4G; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ < >; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ < >; initialize by copy < readwrite >; place at address mem:__ICFEDIT_intvec_start__ < readonly section .intvec >; /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv CUT HERE vvvvvvvvvvvvvvvvvvvvvvvvvv */ place in ROM_region < readonly >; place in RAM_region < readwrite, block CSTACK, block HEAP >; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CUT HERE ^^^^^^^^^^^^^^^^^^^^^^^^^^ */ export symbol __ICFEDIT_region_RAM_start__; export symbol __ICFEDIT_region_RAM_end__; 
/*###ICF### Section handled by ICF editor, don't touch! ****/ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ /*-Specials-*/ define symbol __ICFEDIT_intvec_start__ = 0x08000000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_end__ = 0x08003FFF; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20000FFF; /*-Sizes-*/ define symbol __ICFEDIT_size_cstack__ = 0x400; define symbol __ICFEDIT_size_heap__ = 0x400; /**** End of ICF editor section. ###ICF###*/ define memory mem with size = 4G; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ < >; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ < >; initialize by copy < readwrite >; place at address mem:__ICFEDIT_intvec_start__ < readonly section .intvec >; /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvv PASTE HERE vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */ do not initialize < section .bss object separately_inited_vars.o >; /* 1 */ initialize manually < section .data object separately_inited_vars.o >; /* 2 */ define block MYBLOCK < section .data object separately_inited_vars.o >; /* 3 */ place in ROM_region < readonly >; place in RAM_region < readwrite, block MYBLOCK, /* 4 */ block CSTACK, block HEAP >; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PASTE HERE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ export symbol __ICFEDIT_region_RAM_start__; export symbol __ICFEDIT_region_RAM_end__; 

Что тут происходит? Попробуем разобраться:

  1. Не инитить переменные из либы separately_inited_vars в RAM (совсем)
  2. Инитить переменные секции data из либы separately_inited_vars, но только по запросу
  3. Переменные из либы separately_inited_vars будут доступны в секции data и определены секцией MYBLOCK (наше любое название)
  4. Секция MYBLOCK должна лежать в оперативке
#pragma section = "MYBLOCK"

Готово! Теперь напишем простейшую функцию:

void ram_debug(int line) < if (RCC->CSR & RCC_CSR_IWDGRSTF) return; //при аварийной перезагрузке не переназначать переменную debugvar debugvar = line; //иначе - вписать в переменную номер строки > 

Как это работает. Вставляем функцию в критические участки кода:

 . ram_debug(__LINE__); while ((USART1->ISR & USART_ISR_TC) != USART_ISR_TC); //line 156 . 

__LINE__ — встроенный макрос, который вставит номер строки из исходника программы. Таким образом, при аварийном ребуте мы получим сообщение, выполнение какой строки кода этому предшествовало. Конечно, нет 100% гарантий, что причиной была именно эта строка, но в любом случае это хорошее подспорье для разбора полетов. Поправим первоначальный код:

 . //инициализация переменных итд . void main(void) < if (RCC->CSR & RCC_CSR_IWDGRSTF) < sprintf(buf, "%03d", debugvar); while(1) < lcd_str("Ошибка в строке ", 0); lcd_str(buf, 64); lcd_str(" . ", -1); ram_debug(__LINE__); sleep(100); >> . //инит вотчдога и остальная программа 

Это значение переменной будет сохраняться даже при хардварном резете и сбросится только при выключении из розетки.

Послесловие

Зачем такие трудности? Ведь можно писать нормально во флеш, без этих извращений с конфигами линковщика. Но какой же флеш выдержит столько перезаписей? Например, у STM32F030 по даташиту вообще гарантированное количество перезаписей — 1000. Тогда, при использовании всего одного байта памяти, 16 Кб хватит грубо на (16000 * 1000) перезаписей. Перезапись будет происходить при каждом вызове ram_debug(__LINE__). Пусть раз в миллисекунду (хотя конечно чаще). Несложно посчитать, что ресурса хватит на 16000 сек — меньше пяти часов! Не слишком обнадеживающе.

Другой вариант обойтись без извращений, это заюзать внешнюю SRAM, но это и медленней, да и ног у камня как всегда не хватает, да к тому же i2c нужен, который занимает те же порты, что и USART (кто так придумал)… Да и потом, а если зависание произойдет именно при общении с внешней памятью, например глюканет i2c? Вот и приходится искать варианты.

Спасибо прочитавшим, критика и улучшайзинги — приветствуются.

  • watchdog
  • +6
  • 22 сентября 2020, 18:14
  • DySprozin

Комментарии ( 5 )

Во всех микроконтроллерах

и тут же о LSI из STM. Неужели все микроконтроллеры STM?
Взгляд поверхностный, с точки зрения Сишника, примеры тоже. В общем случае можно понять, что содержимое ОЗУ на момент ребута по любой причине хранит слепок последнего состояния программы. При желании можно зарезервировать место под переменную и периодически ее обновлять номером исполняемого блока (если строкой, это слишком часто, ИМХО). Это не всегда возможно, не при всех ошибках, например не при срыве стека.
А так прием годный, но с ограничениями.

> Неужели все микроконтроллеры STM?
ну как бы статья в разделе STM32 и было бы глупо писать «все микроконтроллеры STM32. »

> При желании можно зарезервировать место под переменную и
> периодически ее обновлять номером исполняемого блока
> (если строкой, это слишком часто, ИМХО)
почему часто? Почти никаких накладных расходов, просто обновляем переменную, разве нет?

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

> Взгляд поверхностный, с точки зрения Сишника, примеры тоже
как и ваш комментарий =) вот если бы вы конкретизировали, цены бы вам не было, я бы добавил это в статью и получился бы общими усилиями годный мануал. Например, в сегментах кода или настройке icf настройке icf я конкретно плаваю, можете что-то добавить?

Я бы вместо записи одной переменной сделал кольцевой буфер, позволяющий отследить попадания на несколько шагов назад. Тогда можно с некоторой вероятностью и срыв стека пропальпировать

Как запустить материнскую плату без кнопки — 3 способа

Если кнопка не функционирует и не запускает ПК — не беда. Гайд подскажет, как активировать системник.

как запустить материнскую плату без кнопки

Как запустить материнскую плату без кнопки

В этом разделе — методы, которые требуют разбора компа:

  1. Замкнуть контакты.
  2. Перенастроить кнопку, предназначенную для перезагрузки, чтобы она включала девайс.

Таблица подскажет, как действовать.

 замыкание контактов питания материнской платы

Подготовка

  • Отсоединить коннекторы кнопки.
  • Подключить ПК к электросети. Делать это нужно крайне осторожно: системный блок остается открытым. В комнате не должно быть влажно и пыльно.
  • С помощью обычной отвертки оба контакта питания необходимо замкнуть.

переназначение кнопок материнской платы

Оба варианта не так просты и доставляют неудобства, но как временное решение — годятся.

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

AsRock

материнская плата AsRock

Asus

 схема передней панели материнской платы Asus

Foxconn

материнская плата Foxconn

MSI

системная плата MSI

Epox

системная плата Epox

Intel

 материнка от Intel

Biostar

материнская плата от Biostar

Gigabyte

системная плата от Gigabyte

С помощью клавиатуры

Клавиатура ПК способна выполнять функции, которые отвечают за запуск материнки. Это прекрасная альтернатива приведенным выше методам. Такой вариант — то, что надо для неопытных пользователей.

Важно: Метод работает только при наличии разъема PS/2 и совместимого устройства. USB и новые беспроводные модели в этом случае бесполезны.

Как делать:

  • Войти в БИОС → «Power» → «APM Configuration» → Отыскать и активировать «Power On by PS/2 Keyboard».
  • Задать сочетание, которое будет использоваться для запуска: Ctrl+Esc, Пробел или Power. Какая комбинация доступна, зависит от типа подсистемы.

1

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

Как видно, запустить PC (personal computer) без кнопки можно. Но все же дать системник мастеру необходимо: он его проверит, отыщет причину и поможет ее устранить.

Карманный осциллограф на STM32

Китайцы выпустили вариант DSO138mini . Не подскажете, есть ли для нее вариант улучшения прошивки и железа как для простого DSO138 ? Железо похожее, но прошивки, очевидно, разные.

Ну нужно схему добыть и сравнить. По виду изменений там в железе или нет, или практически нет. Но, скорее всего, изменения есть вск равно какие-то. Если у кого-то есть интерес можете снабдить меня этим девайсом портирую прошивку с прошлого. Но объективно, в моей прошивке для dso скорость то выше, но функций меньше, платформа убогая и мне ее ковырять неохота было.

  • SerjNSK
  • Сообщений: 6
  • Зарегистрирован: Чт окт 25, 2012 17:35:04

Re: Карманный осциллограф на STM32

Ср окт 10, 2018 11:39:11

Схемы выложены производителем прямо на страничке этого осциллографа, куда ведет моя ссылка выше. Но там аж три варианта исполнения H,F,I.

  • a797945
  • Сообщений: 445
  • Зарегистрирован: Вс ноя 01, 2015 09:15:16
  • Откуда: 69.Ржев

Re: Карманный осциллограф на STM32

Ср окт 10, 2018 17:23:22

кому нужна альт.прошивка Вам или GFX, если Вам, что ж Вы сами не проанализировали отличия.

версий мини не 3, а 2, и их отличия описаны оф.сайте.
отличия же версий мини от 138 (в разрезе существующей альт.прошивки 138го):
кнопки перенесены на шину дисплея, линии CPLSEL, LCD_nRD, LCD_nRESET на других ногах, вход PA4 для чего-то выведен на разъем;
так же просто как в 138 заменить ОУ не получится, да и силенок у 7660 может не хватить.
при том же аналоговом тракте (и характеристиках) функционал мини от 138го расширен.

но зачем нужно покупать мини я не знаю.

  • 240265
  • Сообщений: 1017
  • Зарегистрирован: Сб мар 09, 2013 11:29:22
  • Откуда: 40RUS, Жуков

Re: Карманный осциллограф на STM32

Ср окт 10, 2018 17:59:07

Ну маленький ему хочется

  • M_ARK
  • Сообщений: 49
  • Зарегистрирован: Ср апр 06, 2016 21:59:29

Re: Карманный осциллограф на STM32

Вс окт 14, 2018 05:10:37

Собрал, пока без дросселей L12/L14. При зарядке светодиод светится. На выходе TPS63000 ничего нет. Гляжу на схему, вижу что на Q6, Q7 собрана схема, управляющая подачей питания (вот только работает ли она и на включение, и на выключение, не пойму). По-идее, учитывая значительный ток потребления, включение и выключение должны осуществляться с кнопки. Если постоянно схема будет при подключенном аккумуляторе под напряжением, батареи надолго не хватит. Но если нет прошивки в контроллере (первое включение), как сформируется сигнал на включение? Разъясните может быть, нужно какую-то кнопку нажимать? Вообще, не нашел нигде описания назначения кнопок. Еще один вопрос — можно ли прошивать контроллер просто через USB провод от компьютера, и какой программой для этого нужно пользоваться. Раньше STM’ки всегда прошивал по трем проводкам SWDIO, SWCLK, масса с помощью программатора STMLink V2, но знаю что производитель STM заложил возможность прошивки через USB (сам так ни разу не пробовал). Из-за плотного монтажа подпаятся проблематично, хотелось бы через USB попробовать прошить.

  • Alex2
  • Сообщений: 1130
  • Зарегистрирован: Вс авг 21, 2011 21:11:56
  • Откуда: Харьков

Re: Карманный осциллограф на STM32

Вс окт 14, 2018 06:30:04

Q7 дает высокий уровень на ножку EN, включающую инвертор 63000. Паять нужно тщательно, с первого раза не всегда получается.
Нажимать нужно кнопку ОК, крайнюю правую. При программировании нужно ее все время удерживать. До момента прошивки питание будет идти только пока удерживается кнопка.
В подписи автора есть док с описанием кнопок и утилита для прошивки без программатора
Прошить можно непосредственно через ЮСБ,
https://yadi.sk/d/QJmF7P2byAYma/GFXscop . 0%BA%D0%B8
Если есть ст-линк, то можно сделать переходник к ЮСБ и программировать им. SWDIO, SWCLK подключаются к D+,D- согласно схемы. Я так и делаю, так удобнее, чем другими методами.

  • M_ARK
  • Сообщений: 49
  • Зарегистрирован: Ср апр 06, 2016 21:59:29

Re: Карманный осциллограф на STM32

Вс окт 14, 2018 07:15:44

Alex2, cпасибо, но все-таки не до конца понял.
1. По питанию: Понял следующее: TPS63000 не запустится, пока не откроется Q7. Но для этого, получается, должен быть прошит контроллер и на него подано питание -он ведь управляет Q7? Какой-то замкнутый круг. Или принудительно, в обход Q7, можно подать плюс на вход EN и TPS63000 запуститься? В каком порядке вообще запускать осцилл: сначала довести до ума питание, или сначала прошить?
2. По прошивке: Какой смысл нажимать кнопку ОК при проверке питания, если не прошит МК? Крайняя правая — если разъем для подсоединения дисплея находится с правой стороны, т.е. ближняя к разъему? В доке по описанию кнопок нет кнопки ОК (вероятно, она названа «Подтверждение»).
3. У меня дисплей 3,5 дюйма на ILI9486, 16 бит, 480х320 (дисплей пока не подключал). На дисплее нет выводов RD, -LED, TACH IRQ, T_CS (на плате дисплея эти контакты подписаны как NC — not connected). Сигнал SD_CS на 34 выводе, а по схеме должен быть на 26. 26-ой вывод на дисплее подписан как F_CS. Можно ли такой дисплей подключать через разъем? Обязательно ли снимать держатель SD -карты с платы дисплея, или это просто желательно, т.к. позволяет установить батарею с увеличенной толщиной?
Извиняюсь за большое количество дилетантских вопросов. Всю тему прочитать не осилил, но понял, что большинство простых вопросов обсуждались еще при сборке ранних версий прибора.

P.S. По включению TPS63000 -кажется, разобрался. При замыкании S1 (она же ОК, она же Подтверждение) катод диода D3 соединяется с землей, и должен открыться Q7/запуститься TPS63000.

  • GFX
  • Сообщений: 2040
  • Зарегистрирован: Вт окт 23, 2012 18:36:14
  • Откуда: Ростов-на-Дону

Re: Карманный осциллограф на STM32

Вс окт 14, 2018 18:31:45

M_ARK, по кнопке ОК, все верно она параллельно МК подает питание, поэтому когда МК выключен или не запрограммирован, кнопка ОК и запитывает схему. По экрану, их уже использовали, сравните распиновку, у меня такого нет, но вроде, он по пинам совместим. Тач подключать не нужно, он отсутствует почти на всех экранах.

  • Alex2
  • Сообщений: 1130
  • Зарегистрирован: Вс авг 21, 2011 21:11:56
  • Откуда: Харьков

Re: Карманный осциллограф на STM32

Вс окт 14, 2018 19:15:24

экран по распиновке подходит, это тот что китайцы выпустили вместо 3,2″ с ИЛИ контроллером. Только шилд увеличили.
Страниц 5 назад Gordei выкладывал фото- обрезал шилд такого экрана до минимальных габаритов.
СД- карта на экране не подключается, если не мешает габаритами- можно не убирать.
Тача нет, чтения нет, подсветку переделать.
Подсветка на этих экранах постоянная, соединенная с питанием, нужно выпаять низкоомный резюк подсветки с массы на катод и подать на катод подсветки проводом со свободного пина управляемую с осцила подсветку. См. схему.
По 63000 я так понял вопрос отпал.

  • willy380
  • Сообщений: 653
  • Зарегистрирован: Сб май 10, 2014 23:23:39
  • Откуда: Северодвинск

Re: Карманный осциллограф на STM32

Вс окт 14, 2018 19:39:49

Я с таким экраном давно собрал, на 201 стр. уже в корпусе выкладывал фото. Я еще в двух местах, напротив BNC, убирал полигон на половину толщины платы чтоб экран был параллельно основной плате.

  • maksim_tverdohlb
  • Сообщений: 57
  • Зарегистрирован: Чт авг 31, 2017 16:59:22

Re: Карманный осциллограф на STM32

Пн окт 15, 2018 13:36:12

подскадите кто то подключал осцыл к смартфону ))) Нормально работает,без глюков,или оно ещё не доработано? Я подключаюсь ,работает не долго и пропадает связь. Я пытаюсь записать сигнал длительностью 1 мин и потом проанализировать .

  • GFX
  • Сообщений: 2040
  • Зарегистрирован: Вт окт 23, 2012 18:36:14
  • Откуда: Ростов-на-Дону

Re: Карманный осциллограф на STM32

Пн окт 15, 2018 14:17:42

maksim_tverdohlb, esp8266 лучше работает не в виде точки доступа, а как клиент. На телефоне включаете точку доступа и к ней подключается esp. Хотя конечно телефоны и операционки у всех разные, и с учетом того, что это первая и последняя моя прога для андроида она может глючить. Кстати, исходники проги для андроида доступны на гитхабе.

  • M_ARK
  • Сообщений: 49
  • Зарегистрирован: Ср апр 06, 2016 21:59:29

Re: Карманный осциллограф на STM32

Пн окт 15, 2018 15:44:16

Выяснил, что при нажатии на кнопку ОК напряжение на выходе TPS63000 появляется, при отпускании кнопки -исчезает. Это нормально?

  • GFX
  • Сообщений: 2040
  • Зарегистрирован: Вт окт 23, 2012 18:36:14
  • Откуда: Ростов-на-Дону

Re: Карманный осциллограф на STM32

Пн окт 15, 2018 16:37:21

Выяснил, что при нажатии на кнопку ОК напряжение на выходе TPS63000 появляется, при отпускании кнопки -исчезает. Это нормально?

Если мк не прошит, то да

  • maksim_tverdohlb
  • Сообщений: 57
  • Зарегистрирован: Чт авг 31, 2017 16:59:22

Re: Карманный осциллограф на STM32

Пн окт 15, 2018 19:00:45

А реально самописец реализовать,в самом осцылографе ? Записал длинный файл на флешку ,а потом на комп скинул и анализирует.

Добавлено after 7 minutes 32 seconds:
Подскажите ещё ,как осциллограф сделать клиентом? Как это все настроить?

  • GFX
  • Сообщений: 2040
  • Зарегистрирован: Вт окт 23, 2012 18:36:14
  • Откуда: Ростов-на-Дону

Re: Карманный осциллограф на STM32

Пт окт 19, 2018 22:19:16

Подскажите ещё ,как осциллограф сделать клиентом? Как это все настроить?

В телефоне включаете точку доступа, как это сделать — к телефону вопрос, обычно в настройках — общий модем -точка доступа. Но перед этим нужно настроить ослик, чтобы он знал, что нужно цепляться к будущей точке доступа, для этого находите сеть GFXscope, подключаетесь, телефон сам откроет настройки, если нет — то в браузере пишите адрес 161.168.4.1, или пишите http://aesp8266/, заходите на страницу и видите настройки:
Изображение Изображение Изображение пароль 0123456789

  • Sanseyis
  • Сообщений: 144
  • Зарегистрирован: Чт фев 10, 2011 17:54:28
  • Откуда: Подольск МО

Re: Карманный осциллограф на STM32

Вт окт 23, 2018 16:34:47

Ребята, согласно инструкции по сборке на экране с контр. ILI9486 я понял что не обязательно выпаивать преобразователи 3 штуки? U2 U3 U4 или все таки необходимо?

  • willy380
  • Сообщений: 653
  • Зарегистрирован: Сб май 10, 2014 23:23:39
  • Откуда: Северодвинск

Re: Карманный осциллограф на STM32

Вт окт 23, 2018 17:12:56

Ребята, согласно инструкции по сборке на экране с контр. ILI9486 я понял что не обязательно выпаивать преобразователи 3 штуки? U2 U3 U4 или все таки необходимо?

У меня 4 типа экранов, два стоят в осликах, на всех убирал резистор подсветки и ставил перемычку с разъема, остальное, слот SD карты, кнопку и разъем кнопки убирал потому что мешали, больше ничего не трогал.

  • Sanseyis
  • Сообщений: 144
  • Зарегистрирован: Чт фев 10, 2011 17:54:28
  • Откуда: Подольск МО

Re: Карманный осциллограф на STM32

Вт окт 23, 2018 18:22:42

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *