-
Постов
49 -
Зарегистрирован
-
Посещение
Весь контент lisstret
-
Симулирование светодиода
lisstret ответил lisstret тема в Программирование
Благодарю за совет, так и сделал, работает и запихал в OnPaint. Только тут пустой статический текст прорисовывается над моим красненьким квадратиком. В принципе можно все подогнать. -
Вопросы начинающих
lisstret ответил KA_ru тема в Altium Designer, DXP, Protel
Спасибо работает, только так вручную по одному включать. Нету ли группового способа? Через инспектор что-то я не понял как. По одному через него тоже можно, и через Design->NetList->EditNets тоже. Извиняюсь, разобрался. В панели PCB если выделить AllNets->ПКМ->Connection->Show. -
Вопросы начинающих
lisstret ответил KA_ru тема в Altium Designer, DXP, Protel
А где отключаются или включаются серые виртуальные линии связи? у меня почему-то подсвечиваются только питание и земля -
Симулирование светодиода
lisstret ответил lisstret тема в Программирование
Спасибо. То есть в окне диалога можно делать все тоже, что и в окне представления? -
Симулирование светодиода
lisstret опубликовал тема в Программирование
У меня нубский вопрос. Как делая приложение в виде диалогового окна используя MFC , я могу вывести состояние светодиода? В идеале нужна точка, изменяющая цвет с зеленого на красный. Ни как не пойму в какую сторону рыть. И каким элементом управления, или вообще если возможно без него, вывести текст? Заранее простите за созданную тему, но из гугла я в нужное место попасть не могу. -
Вопросы начинающих
lisstret ответил KA_ru тема в Altium Designer, DXP, Protel
А как сделать, чтобы при смене ширины проводника, зазор между проводниками тоже менялся и был такой же ширины? -
ADF4360
lisstret ответил uriy тема в RF & Microwave Design
Никак не могу настроить петлю ФАПЧ, чтобы модулировать сигналы в полосе частот от 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. Если собрать всю петлю ФАПЧ, возможно ли измерить получившеюся частоту ее среза? -
ADF4360
lisstret ответил uriy тема в RF & Microwave Design
Здравствуйте, пишу сюда так как самая подходящая тема. Вообщем вопрос такой, на ADF4360-9 сделать ЧМ модулятор, подавая низкочастотный сигнал на вход VTUNE. Застопорился с ГУНом. Вообщем он там устроен как 8 ГУНов в 8 перекрывающихся диапазонах (eight overlapping bands). Если взглянуть в даташите на Figure 18. (прикрепил ниже) зависимости частоты от напряжения на входе VTUNE, то увидим пилу с 7-ми пиками. Получается если несущая попадает ровно в один из этих пиков и на VTUNE еще приложен сигнал который нужно промодулировать, то что происходит с ГУНом? Он увеличит свой счетчик диапазонов и перестраивается в другой? Тогда теряется захват и ФАПЧа гуляет? Девиация порядка 15КГц, полоса 150-200МГц, кол-во РЧК достаточно много, поэтому факт - минимум одна из несущих по любому попадет в этот пик. Спасибо! -
Обновление WinAVR
lisstret ответил RomanRom тема в MCS51, AVR, PIC, STM8, 8bit
А что в ней нового такого? -
strtok не работает (STM32)
lisstret ответил lisstret тема в ARM, 32bit
Попробывал, действительно все заработало ( ) _ О Не думал что определение типа: char* pText = "Hello", кладет строку во флэш. Спасибо всем за ответы! Потестируюсь немного, если что-то опять пойдет не так, отпишусь) -
strtok не работает (STM32)
lisstret ответил lisstret тема в ARM, 32bit
Вообщем воспользовался поиском по 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 , но результат такой же. Подскажите, куда дальше то стоит копать? Возможно ли это, с неправильным выделением места для кучи, стека и т.д.? -
strtok не работает (STM32)
lisstret опубликовал тема в ARM, 32bit
Вообщем смысл следующий, пишу типа: #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 и т.д. И в результате выкатывает одно и тоже. Если нужно что-то еще дописать, какие опции в проекте включены, ключи и т.д. я напишу. Я просто не знаю что еще указать. -
Добрый вечер! Проблема следующая. Компилятор 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 не заведешь, потому как ему непрерывный кусок памяти надо.
-
STK600 платы расширения
lisstret ответил lisstret тема в MCS51, AVR, PIC, STM8, 8bit
Жаль, так бы из СТКахи можно было бы сделать вообще крутой отладочный борд. А так вечно проводками приходиться цепляться, в итоге на столе куча всего всякого. А чего Атмелы отказались от поддержки плат расширения, ну в смысле почему они их не выпустили? -
STK600 платы расширения
lisstret опубликовал тема в MCS51, AVR, PIC, STM8, 8bit
На STK600 есть два разъема EXPAND0 и EXPAND1, я так понимаю, туда вставляются платы расширения STK600. Но что то так и нигде не попадались на глаза они. Вообще что нибудь существует туда, не ткнете носом в ссылку? Желательно что нить с регулировками, потенциометрами дисплеями и т.д. Поиском по форуму воспользовался но ничего не нашел. -
аудиофильтр
lisstret ответил apxeolog тема в В помощь начинающему
У Вас так получается аж 32-х разрядное АЦП. Что то слишком круто) А можно превращать не в ноль, а в 0x7fffffff, так сигнал будет меняться от пол напряжения питания. И ничего отнимать не нужно будет, вроде так? -
w5100
lisstret ответил Метценгерштейн тема в Интерфейсы
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 обмене. -
магистральный интерфейс на RS485
lisstret ответил andrewlekar тема в Интерфейсы
А на Ethernet пихнуть? -
как стартует PS/2 ?
lisstret ответил VCucumber тема в Интерфейсы
Вы что делаете именно? Вообще на сколько помню так: - компьютер линию CLK кладет к земле - на DATA keyboard или DATA mouse комп выставляет ноль - допустим клавиатура заметила все эти ногодрыгания и начинает генерировать последовательность синхроимпульсов на линии CLK Keyboard, сжирая битики по фронтам - Первая команда от компа GIVE ME ID, вроде бы так. Еще там на CLK реализован арбитраж. То есть, если кто нибудь выставил на CLK ноль, то остальные устройства ждут пока CLK освободиться. И еще фича, допустим клавиатура шлет посылки нажатия клавиш. В это время на линии CLK MOUSE будет логический ноль, контроллер со стороны компьютера его сам установит на время общения с клавиатурой. На CLK MOUSE не будет видно тактовых импульсов, просто будет ноль пока клавиатура не освободит шину. И на всякий случай, синхронизацию выполняют только удаленные устройства: мышь или клавиатура. Со стороны компа эти выводы вообще всегда подтянуты, нуля не должно быть. -
External SRAM + ATmega***
lisstret ответил pitter_3 тема в MCS51, AVR, PIC, STM8, 8bit
Спасибо! Видимо, зря я не особо заглядывал в документацию на компилятор. Сейчас посижу поразбираюсь, как распределить данные по адресному пространству внутренного озу и внешнего -
Выбор процессора для изучения
lisstret ответил igorle тема в В помощь начинающему
Берите STM Discovery. Отладчик на борту, выводы МК выведены. Не надо париться о программаторе. Примеров и библиотек куча, просто сидите и копируйте) Сделаете макетку куда запихнете все, что Вам будет нужно. Современно и перспективно) -
PS/2 usb
lisstret ответил protector тема в Интерфейсы
У меня так однажды PS/2 контроллер компьютера сдох, когда перепутал линию Clock с Data -
External SRAM + ATmega***
lisstret ответил pitter_3 тема в MCS51, AVR, PIC, STM8, 8bit
Хороший пример в этом случае это модуль WIZ200 WEB. Там как раз ATMEGA128+HY62256 и WIZ5300) Схемы есть, есть программный код от производителя. Так что глазами пробежаться можно подглядеть. http://www.efo.ru/doc/Wiznet/Wiznet.pl?2935 У меня больше другой вопрос. Как сделать так, чтоб во внешний СРАМ загружались данные программы. То есть, допустим есть проект, в котором память данных занимает 8 КБ. Соответственно 4 КБ во внутреннем ОЗУ и остальные 4 КБ получается помещаются только во внешний ОЗУ. Но перед запуском прошивки нужно же настроить интерфейс внешнего СРАМА, указав в каких-то регистрах 128МЕГИ, что мы используем внешний срам с такий wait-state и т.д. После этого должна начать запускаться основная программа которая и выгрузит из FLASH'a данные во внешний СРАМ. Так вот, тут над бутлоэдер писать или что-то наподобе него, чтоб он настроил доступ 128МЕГИ к внешнему СРАМУ? Надеюсь понятно сказал, а то я особо объяснять не умею) -
Ага, тоже самое. Я еще и сервис пак тоже ставил. Все работает ОК! И JTAG и STK600