Перейти к содержанию
    

lisstret

Участник*
  • Постов

    49
  • Зарегистрирован

  • Посещение

Весь контент lisstret


  1. Благодарю за совет, так и сделал, работает и запихал в OnPaint. Только тут пустой статический текст прорисовывается над моим красненьким квадратиком. В принципе можно все подогнать.
  2. Спасибо работает, только так вручную по одному включать. Нету ли группового способа? Через инспектор что-то я не понял как. По одному через него тоже можно, и через Design->NetList->EditNets тоже. Извиняюсь, разобрался. В панели PCB если выделить AllNets->ПКМ->Connection->Show.
  3. А где отключаются или включаются серые виртуальные линии связи? у меня почему-то подсвечиваются только питание и земля
  4. Спасибо. То есть в окне диалога можно делать все тоже, что и в окне представления?
  5. У меня нубский вопрос. Как делая приложение в виде диалогового окна используя MFC , я могу вывести состояние светодиода? В идеале нужна точка, изменяющая цвет с зеленого на красный. Ни как не пойму в какую сторону рыть. И каким элементом управления, или вообще если возможно без него, вывести текст? Заранее простите за созданную тему, но из гугла я в нужное место попасть не могу.
  6. А как сделать, чтобы при смене ширины проводника, зазор между проводниками тоже менялся и был такой же ширины?
  7. ADF4360

    Никак не могу настроить петлю ФАПЧ, чтобы модулировать сигналы в полосе частот от 144 Гц. Модуляция получается только начиная с 300 Гц. Модулируемый сигнал подаю на вход VTUNE через конденсатор 0.1 и резистор 150К. Собственную частоту фильтра ФАПЧ настраиваю (по крайней мере пытаюсь) настроить на порядок ниже, около 10-20 Гц. Сам фильтр 2-го порядка, из конденсатора и одной цепочки резистора и конденсатора. В общем возникло много путаницы в голове: 1. ADISImPLL для низкой частоты петли ФАПЧ рассчитывает достаточно большие значения емкостей конденсаторов в фильтре (от десятков мкФ до сотен мкФ). Есть ли в них смысл? Т.е. стоящие танталовые конденсаторы большой емкости в цепи ФНЧ фильтра ФАПЧ, это хорошо или плохо? 2. Почему на низких частотах при добавлении громкости происходит срыв захвата LOCK? Например подал синус 300 Гц амплитуды 2В с генератора, захват есть. Поменял частоту на 290Гц, начал мигать сигнал Lock. Убавил амплитуду с 2В, до 1В, ГУН генерирует сигнал без срыва захвата, с девиацией в два раза меньше соответственно. 3. Постами выше писали что можно складывать сигналы на операционном усилителе. А чем это лучше того, что если складывать сигналы на резисторах? 4. Какой запас фазы следует выбирать в случае ЧМ модуляции? 5. И как понять запас по амплитуде? 6. При изменении тока накачки с большего на меньшее, уменьшаем собственную частоту петли, при этом что то еще происходит с запасом по фазе. Вроде так? 7. И еще не могу понять, график FM Response из ADSimPLL, график отражает ФВЧ фильтр со стороны модулируемого сигнала? Как из него понять какие частоты возможно промодулировать а какие нет? Там этот пик на АЧХ, какие выводы можно сделать глядя на него? 8. Если собрать всю петлю ФАПЧ, возможно ли измерить получившеюся частоту ее среза?
  8. ADF4360

    Здравствуйте, пишу сюда так как самая подходящая тема. Вообщем вопрос такой, на ADF4360-9 сделать ЧМ модулятор, подавая низкочастотный сигнал на вход VTUNE. Застопорился с ГУНом. Вообщем он там устроен как 8 ГУНов в 8 перекрывающихся диапазонах (eight overlapping bands). Если взглянуть в даташите на Figure 18. (прикрепил ниже) зависимости частоты от напряжения на входе VTUNE, то увидим пилу с 7-ми пиками. Получается если несущая попадает ровно в один из этих пиков и на VTUNE еще приложен сигнал который нужно промодулировать, то что происходит с ГУНом? Он увеличит свой счетчик диапазонов и перестраивается в другой? Тогда теряется захват и ФАПЧа гуляет? Девиация порядка 15КГц, полоса 150-200МГц, кол-во РЧК достаточно много, поэтому факт - минимум одна из несущих по любому попадет в этот пик. Спасибо!
  9. А что в ней нового такого?
  10. Попробывал, действительно все заработало ( ) _ О Не думал что определение типа: char* pText = "Hello", кладет строку во флэш. Спасибо всем за ответы! Потестируюсь немного, если что-то опять пойдет не так, отпишусь)
  11. Вообщем воспользовался поиском по sbrk. Понял что для использования стандартной библиотеки требуется написать свои функции _sbrk, _write, _read и т.д. Недолго думая создал исполнительный файл syscall.c, добавил в проект. И короче закопипастил код отсюда: https://sites.google.com/site/stm32discover...rcery-lite-eabi на всякий случай вот он: /* * newlib_stubs.c * * Created on: 2 Nov 2010 * Author: nanoage.co.uk */ #include <errno.h> #include <sys/stat.h> #include <sys/times.h> #include <sys/unistd.h> #include "stm32f10x_usart.h" ... #undef errno extern int errno; ... /* sbrk Increase program data space. Malloc and related functions depend on this */ caddr_t _sbrk(int incr) { extern char _ebss; // Defined by the linker static char *heap_end; char *prev_heap_end; if (heap_end == 0) { heap_end = &_ebss; } prev_heap_end = heap_end; char * stack = (char*) __get_MSP(); if (heap_end + incr > stack) { _write (STDERR_FILENO, "Heap and stack collision\n", 25); errno = ENOMEM; return (caddr_t) -1; //abort (); } heap_end += incr; return (caddr_t) prev_heap_end; } ... В итоге все собралось, залил прошивку. Но результат тоже плачевен при использовании функции strtok. Такое чувство если strtok встречает один из разделяющих символов, то возвращает какой то левый указатель. Чтоб было понятней объясню на примере: char* pText = "Main\nMenu"; char* pString = strtok(pText, "\n"); lcd_out(pString); В результате никаких символов вообще не выводится. Но если допустим будет вот так: char* pText = "Main Menu"; char* pString = strtok(pText, "\n"); lcd_out(pString); Все нормально, на экранчике который я подцепил печатается в одной строке Main Menu. Подумал что реализация _sbrk косячная, взял еще несколько примеров, например отсюда: http://we.easyelectronics.ru/STM32/ispolzu...dlya-stm32.html , но результат такой же. Подскажите, куда дальше то стоит копать? Возможно ли это, с неправильным выделением места для кучи, стека и т.д.?
  12. strtok не работает (STM32)

    Вообщем смысл следующий, пишу типа: #include "stm32F10x.h" #include <stdio.h> #include <string.h> int main() { char* pString = strtok("Main\n", "\n"); while(1); } выплывает ошибка: sbrkr.c:(.text+0x12): undefined reference to `_sbrk' Не пойму, то ли в опциях проекта надо указать линковщику "какую-то" библиотеку, то ли свои заглушки писать, то ли забить на использование стандартной библиотеки С вообще. Так как ее тут походу нету? Про STM32 вообще почти ничего не знаю, так балуюсь с с платкой VLDISCOVERY. Если что, то пользуюсь Eclipsом. Проект настраивал как написано здесь: http://robocraft.ru/blog/ARM/653.html Если лень туда лезть, то пользуюсь вот этим: - Eclipse IDE for C/C++ Developers, Version: Helios Service Release 1, Build id: 20100917-0705 - Сodesourcery arm-none-eabi/4.4.1 - Ну и какими то плагинами и приблудами для эклипса :laughing: Не разбираюсь в их названиях и т.д.) - Платка stm32VlDiscovery Просто не в первый раз уже так, пробываю воспользоваться какой-нить обычной функцией, например: strtok, printf и т.д. И в результате выкатывает одно и тоже. Если нужно что-то еще дописать, какие опции в проекте включены, ключи и т.д. я напишу. Я просто не знаю что еще указать.
  13. Добрый вечер! Проблема следующая. Компилятор VisualDSP 4.5 массивы структур в памяти хранит не подряд, а с какими-то промежутками. Т.е. получается если я делаю так: struct {int a; int b} _mystruct[3]; то я ожидаю что в памяти, структуры будут лежать вот так: {a,b},{a,b},{a,b}, т.е. подряд с линейным увеличением адреса. А получается что структуры лежат вот так: {a,b}{какая-то дырка в памяти}{a, b}{другая дырка}, {a,b}. Размер структуры 32 байта. а он между структурами делает дырки в памяти по 400 байт. К элементам массива то обращаться можно, но DMA не заведешь, потому как ему непрерывный кусок памяти надо.
  14. Жаль, так бы из СТКахи можно было бы сделать вообще крутой отладочный борд. А так вечно проводками приходиться цепляться, в итоге на столе куча всего всякого. А чего Атмелы отказались от поддержки плат расширения, ну в смысле почему они их не выпустили?
  15. На STK600 есть два разъема EXPAND0 и EXPAND1, я так понимаю, туда вставляются платы расширения STK600. Но что то так и нигде не попадались на глаза они. Вообще что нибудь существует туда, не ткнете носом в ссылку? Желательно что нить с регулировками, потенциометрами дисплеями и т.д. Поиском по форуму воспользовался но ничего не нашел.
  16. У Вас так получается аж 32-х разрядное АЦП. Что то слишком круто) А можно превращать не в ноль, а в 0x7fffffff, так сигнал будет меняться от пол напряжения питания. И ничего отнимать не нужно будет, вроде так?
  17. while (1){ if (IINCHIP_READ (Sn_SR(1))== SOCK_ESTABLISHED) { //Sn_SR статус регистр Usart1_Send_String("SOCK_ESTABLISHED \r\n"); recv (1, &recv_msg[0], 8); //socket, передаю адрес массива- куда читать, и длина данных disconnect (1); close (1); } Usart1_Send_String( (char *)recv_msg ); } Так Вы сначала убедитесь, записались ли у Вас данные в приемный буфер W5100, а потом отключайтесь. По циклу получается после close(); нету socket(); И зачем ESTABLISHED проверять если у Вас UDP? А еще не знаю как в W5100, но в W5300 используется не recv();, а recvfrom(); при UDP обмене.
  18. Вы что делаете именно? Вообще на сколько помню так: - компьютер линию CLK кладет к земле - на DATA keyboard или DATA mouse комп выставляет ноль - допустим клавиатура заметила все эти ногодрыгания и начинает генерировать последовательность синхроимпульсов на линии CLK Keyboard, сжирая битики по фронтам - Первая команда от компа GIVE ME ID, вроде бы так. Еще там на CLK реализован арбитраж. То есть, если кто нибудь выставил на CLK ноль, то остальные устройства ждут пока CLK освободиться. И еще фича, допустим клавиатура шлет посылки нажатия клавиш. В это время на линии CLK MOUSE будет логический ноль, контроллер со стороны компьютера его сам установит на время общения с клавиатурой. На CLK MOUSE не будет видно тактовых импульсов, просто будет ноль пока клавиатура не освободит шину. И на всякий случай, синхронизацию выполняют только удаленные устройства: мышь или клавиатура. Со стороны компа эти выводы вообще всегда подтянуты, нуля не должно быть.
  19. Спасибо! Видимо, зря я не особо заглядывал в документацию на компилятор. Сейчас посижу поразбираюсь, как распределить данные по адресному пространству внутренного озу и внешнего
  20. Берите STM Discovery. Отладчик на борту, выводы МК выведены. Не надо париться о программаторе. Примеров и библиотек куча, просто сидите и копируйте) Сделаете макетку куда запихнете все, что Вам будет нужно. Современно и перспективно)
  21. PS/2 usb

    У меня так однажды PS/2 контроллер компьютера сдох, когда перепутал линию Clock с Data
  22. Хороший пример в этом случае это модуль WIZ200 WEB. Там как раз ATMEGA128+HY62256 и WIZ5300) Схемы есть, есть программный код от производителя. Так что глазами пробежаться можно подглядеть. http://www.efo.ru/doc/Wiznet/Wiznet.pl?2935 У меня больше другой вопрос. Как сделать так, чтоб во внешний СРАМ загружались данные программы. То есть, допустим есть проект, в котором память данных занимает 8 КБ. Соответственно 4 КБ во внутреннем ОЗУ и остальные 4 КБ получается помещаются только во внешний ОЗУ. Но перед запуском прошивки нужно же настроить интерфейс внешнего СРАМА, указав в каких-то регистрах 128МЕГИ, что мы используем внешний срам с такий wait-state и т.д. После этого должна начать запускаться основная программа которая и выгрузит из FLASH'a данные во внешний СРАМ. Так вот, тут над бутлоэдер писать или что-то наподобе него, чтоб он настроил доступ 128МЕГИ к внешнему СРАМУ? Надеюсь понятно сказал, а то я особо объяснять не умею)
  23. Ага, тоже самое. Я еще и сервис пак тоже ставил. Все работает ОК! И JTAG и STK600
×
×
  • Создать...