Jump to content

    

Mty

Свой
  • Content Count

    160
  • Joined

  • Last visited

Everything posted by Mty


  1. Понял, спасибо. У меня задача чисто учебная, разобраться что да как. Так что пока достаточно будет скорости и без буфера. Есть ли подобные библиотеки?
  2. Здравствуйте, Посоветуйте, хочу освоить вывод текста и простой графики с stm32f103 на TFT ILI9341. Есть ли рабочие библиотеки позволяющие работать через SPI с ili9341? Спасибо!
  3. SOLVED Решено! Дело было в русском имени WorkSpace с пробелом..... На дворе 2019 год :) сделал английское имя без пробелов - все ок!
  4. Здравствуйте, Первые шаги с BluePill и STM32CubeIDE под win7. Установил, выбрал чип в конфигураторе MX, установил clock и serial debug. Пин С13 - на выход. Сгенерил код, нажав шестеренку. Дописал моргание светодиодом. А кнопка Build на тулбаре - серая и не нажимается. Не могу понять в чем дело - помогите!
  5. Спасибо за советы по книжкам, качаю!
  6. Большое спасибо за информацию, посмотрю. По них я не знал. Диод думаю смонтирую, я индием паял маленькие экспериментальные образцы, микроскоп есть. Очень нужна книжка, чтобы понять как делаются устройства в диапазоне 50-100Ггц. Может посоветуете что-то? Ок, понял, спасибо.
  7. Спасибо, очень кстати Ваш ответ. В Томске в niipp.ru мне генераторные диоды Ганна не продают. Это военная продукция, нужен госконтракт на разработку, ВП, итд итп. Буду покупать на ebay на 50Ггц, они там есть. А вот с детектором были непонятки. $1300 за головку платить пока рановато на данном этапе, а вот с диодом хорошая идея. Но тоже видимо напрямую не купишь? Поищу. Кроме того должны быть диоды от антирадаров на диапазон около 40Ггц, как я понимаю? PS: А под ZB диодом Вы имели в виду микрановские ZB-27 ZB-28 ?
  8. Спасибо за советы, да именно детектор, что генерация есть в широком диапазоне. На данном этапе этого достаточно. Попробую заказать в Томске.
  9. Приветствую, Планируется экспериментальная установка с генератором 100Ггц на диоде Ганна. Посоветуйте, чем можно детектировать генерацию в этом диапазоне? Нужно зафиксировать, что излучение есть на начальном этапе.
  10. Сердечника нет, катушка сверхпроводящая, поэтому только сопротивление подводящих проводов. Не совсем понятно, как в такой ситуации быть с ИНУН На катушке падения не будет ..
  11. Да, КПД мне не важен, это экспериментальная установка. Спасибо за идею. Без ПИД постараюсь обойтись, зарежу частоту усиления RC цепочкой, чтобы обеспечить уcтойчивость цепи. Надо освежить - пойду почитаю про критерий устойчивости цепи..
  12. Интересная мысль. Вы считаете без ПИД никак не добиться отсутствия паразитной генерации?
  13. Частота от 10 до 20 герц. Точность в пределах процента. Ток до 5 ампер.
  14. Приветствую, Нужно сделать НЧ Усилитель в выходом по току на 5а на низкоомную нагрузку - порядка 0.2 ома Вход - 1 вольт амплитуда сигнала. Т.е. - 1 вольт на входе, 5а на выходе. Питание желательно однополярное, нагрузка к земле не привязана, индуктивная, порядка 20мГн + 0.2 ома Посоветуйте, возможно ли взять готовый мостовой УНЧ для аудио под эту задачу? Или делать ОУ + выходной каскад на 2х транзисторах?
  15. Здравствуйте, Есть необходимость сделать синхронизацию времени, работающую от GPS Изделие не серийное, разовое. Сейчас в макете стоит Quectel L20 GPS + patch antenna 20mm В 3-4 метрах от он ловит спутники в течении 30-50% времени. Вопрос - улучшится ли ситуация, если после антенны поставить LNA усилитель - например max2659 ? https://www.maximintegrated.com/en/products...rf/MAX2659.html Спасибо.
  16. Да, это одноразовая схема съема информации с датчика. Нет, этого не надо. Но мне кажется проще для начала попробовать на трансе. Может идея из 5 линий на 1 кольце реализуема? Хочу попробовать это решение как базовое для тестирования датчика. Я так понял надо мотать 5 скрученных линий, каждая на 50 ом, по входу их соединить параллельно, по выходу - последовательно, ок? PS Спасибо за совет с LC согласованием, применю его позже, очень интересное решение.
  17. Здравствуйте, Нужно сделать согласующий трансформатор 50ом - 1250ом (5 раз по напряжению). Частота 100 МГц В идеале - чтобы работал в диапазоне 100-200МГц По информации в интернете предполачаю, что его надо мотать в 5 проводов на ферритовом кольце, затем соединив обмотки последовательно. А для первичной обмотки использовать первую секцию. Аналогичто тому что на картинке, только намотка в 5 проводов. Но не ясно какой феррит брать. У коротковолновиков пишут что для их частот не важно какой феррит, что связь там не трансформаторная, и они берут феррит 2000 для частот на порядок превышающих его рабочую частоту. Для меня непонятно, для чего в таком случае они ставят феррит, а не мотают на воздухе. И в феррите 2000НМ должны быть сильные потери. В моем случае - подойдет ли феррит 20ВН 20*10*6 для мощности 20dBm? Спасибо, прошу сильно не пинать.
  18. Приветствую, Посоветуйте недорогой удобный отладчик под AT90USB128 + IAR А то глаза разбегаются - и на сайте Atmel и на сайте IAR их куча... IAR C-SPY target system support Simulator AVR ICE200 AVR JTAGICE AVR JTAGICE mkII AVR JTAGICE3 AVR® ONE! AVR Dragon Atmel-ICE AVR Crypto Controller ROM-monitor for the Atmel Smart Card Development Board (SCDB) and the Voyager development system (optional add-ons, order separately) AVR Studio via compatible output format (full support for Atmel ICE via the Atmel debugger interface) Еще бы в идеале чтобы он at90usb162 как бонус поддерживал .... http://www.atmel.com/ru/ru/devices/AT90USB....aspx?tab=tools https://www.iar.com/iar-embedded-workbench/...entTab=features
  19. Спасибо, круто! А вот интересно register char* point=(char*)SP; SP указывает на ПУСТУЮ ячейку или на ячейку с предыдущими данными? Иными словами при PUSH сначала копируется данные, а потом инкрементируется SP или наоборот?
  20. Насколько я понимаю он при инициализации сегментов не трогает стеки, а только загружает в DATA переменные?
  21. Хорошо в EWAVR_CompilerReference.pdf The value returned by __low_level_init determines whether or not data segments should be initialized by the system startup code. If the function returns 0 , the data segments will not be initialized. Намекаете на то что при возврате 1 сегмент инициализируется 0 по выходе из функции? А как же работает ASM вариант, который тоже возвращает 1 по той же ссылке? И раз уж пошел конструктивный диалог, давайте предположим что может дело в том что в С варианте затирается весь RSTACK а в ASM (SIZEOF RSTACK)-10) Может в этом дело?
  22. Спасибо, все оказывается просто :) Большой точности не надо, просто приблизительная оценка на реальной работе системы. Способ с заполнением хорош, только вот примера на С рабочего нет. В примере по ссылке, про который я писал имена сегментов выставлены правильные, в map файле они так и называются CSTACK и RSTACK но пример нерабочий. char __low_level_init() { #pragma segment="CSTACK" char* p = (char*)__segment_begin("CSTACK"); size_t len = (size_t)__segment_end("CSTACK") - (size_t)__segment_begin("CSTACK"); while( len-- ) *p++ = 'C'; p = (char*)__segment_begin("RSTACK"); len = (size_t)__segment_end("RSTACK") - (size_t)__segment_begin("RSTACK"); while( len-- ) *p++ = 'R'; return 1; }
  23. Друзья, если у кого то есть рабочий код на С по заполнению стека при стартапе - буду признателен. Пока нашел только это на ASM http://caxapa.ru/301695.html?todo=full PS: zltigo прошу не утруждать себя ответами.
  24. Ок, спасибо. А есть пример как заполнить стеки константами, и получить указатель на начало в программе на рабочем девайсе (не в эмуляторе)?
  25. Привет! По идеям документа с сайта IAR https://www.iar.com/support/resources/artic...em-reliability/ хочу напрямую смотреть использование стека в процессе выполнения программы Идея в том, чтобы через таймерное прерывание периодически замерять указатель на автоматическую переменную, и мониторить сколько стека в использовании. С data stack (CSTACK) все вроде должно получиться без проблем, а вот как получить указатель на текущий RSTACK? C data stack идея такова - char *highStack, *lowStack; int main(int argc, char *argv[]) { highStack = (char *)&argc; // ... printf("Current stack usage: %d\n", highStack - lowStack); } void sampling_timer_interrupt_handler(void) { char* currentStack; int a; currentStack = (char *)&a; if (currentStack < lowStack) lowStack = currentStack; }