-
Постов
12 216 -
Зарегистрирован
Весь контент ViKo
-
С NIOS не знаком. Но, как и sergeeff, недоумеваю. Как в прерывание можно передать аргументы? Оно ж возникает в непредсказуемый момент. Кто ему что-то должен передать?
-
Не сомневайтесь. Крутите эту мысль дальше. 100% успех. Только нужно, чтобы за самое короткое время конденсатор успел зарядиться до амплитудного значения напряжения. А разряжать лучше источником тока, чтобы наклон спада напряжения оставался постоянным. Дальше - компаратор.
-
Маленькие, глупенькие вопросики
ViKo ответил Алекс+ тема в Схемотехника
1. Вас уже просили иметь уважение... отмотайте чуть назад. Неужели не нашли? Да в самом названии темы уже присутствует "глупость". Вы задаете простейшие вопросы. Когда вас послали книжку читать, то и книжка нашлась. Там же все подробно описано. Там есть ответы на все ваши прошлые и будущие вопросы, если они будут такого же уровня. 2. Есть правило переводить в свои за "информативные" сообщения. Я лично такими многие ваши сообщения не считаю. upd. Вообще-то, "Искусство схемотехники" должен иметь каждый. Это не то, что раньше, при всеобщем дефиците, по карточкам получали. Пойдите и купите. И прочитайте от начала до конца два раза! -
Маленькие, глупенькие вопросики
ViKo ответил Алекс+ тема в Схемотехника
А не кажется ли вам, господа (модераторы, в частности) что топикстартер над вами слегка издевается? В то же время успешно набирает посты для перехода в группу "свои". -
Отладочная плата STM32VLDISCOVERY
ViKo ответил Twen тема в ARM, 32bit
Joseph Yiu. The Definitive Guide to the ARM Cortex-M3, 2 Ed (2010) здесь имеется, но доверие нужно заслужить Сами вектора прерываний заданы в начале startup_*.s А адрес обработчика подставляется командой DCD DCD SysTick_Handler ; SysTick Handler Потом идет обработчик-заглушка. Зацикленный на себя код. SysTick_Handler PROC EXPORT SysTick_Handler [WEAK] B . ENDP Но в другом файле (*_it.c обычно) можно создать другой обработчик прерывания, на c. Который и будет скомпилирован и собран в проект. До перехода в main() выполняются две функции. Функция __main копирует code и data, копирует или декомпрессирует RW data, инициализирует нулями ZI дата. Затем функция __rt_entry устанавливает stack и heap, инициализирует библиотечные функции, вызывает конструкторы верхнего уровня C++ (а также выходит из приложения после окончания работы основной программы). После этого вызывается функция main. Так написано в DUI0471C_developing_for_arm_processors.pdf Который (и кучу других) можно скачать с сайта ARM. -
развертывание макросов
ViKo ответил griha-leha тема в Языки проектирования на ПЛИС (FPGA)
Мне кажется, вы озадачились не очень важным вопросом. Думаю, со временем у вас пропадет желание видеть вместо понятных слов ничего не говорящие числа. -
Отладочная плата STM32VLDISCOVERY
ViKo ответил Twen тема в ARM, 32bit
Это не в настройках компилятора, а в настройках отладчика. Обработчик прерывания. Там еще указано [WEAK], что значит, что если найдется другой обработчик в проекте, то этот будет игнорирован. upd. неправильно слово написал, нужно WEAK -
А я с вами согласен :) Я привел простейший пример. Скажем, Cyclone. А со слайсами в Xilinx я слабо знаком. Да и со Stratix. Наворотили...
-
Сколько у вас элементов с памятью (триггеров) - столько, как минимум, будет логических элементов. Если, конечно, это не сама память (RAM, ROM), которая размещается в блоках встроенной памяти. Для комбинаторной логики - завит от сложности логики. Если укладывается в 4-входовую LUT - займет один логический элемент. Если нет - займет несколько. Логика с триггерами, если повезет, может объединиться в один логический элемент.
-
о голосованиях и опросах
ViKo ответил Herz тема в Архив предложений и замечаний
как и не каждую тему... Можно в шапке раздела опросов намекнуть о тематике и послать в оффтопик. -
о голосованиях и опросах
ViKo ответил Herz тема в Архив предложений и замечаний
В правилах форума понятие "опрос" вообще не фигурирует. Лично мне из правил не видно явно, что не каждый опрос можно создавать в разделе опросов. -
о голосованиях и опросах
ViKo ответил Herz тема в Архив предложений и замечаний
Насколько я понял, опрос технически можно создать в любом разделе форума. Нужно где-то об этом написать. Технические опросы - в техническом разделе, оффтопные - в общении. Модераторы имеют возможность их переносить. А то сразу - "наказывать" :) -
Вам проще все проверить в Spice. Значения резисторов там выбраны не "от балды".
-
Заменил пересылки на 32-битовые // Программная пересылка буфера в контроллер ЖКИ 32-битовыми словами uint32_t *pSour = (uint32_t *)(DPYBUF + Offset); uint32_t *pDist = (uint32_t *)(LCDRAM + Offset); LED_On(); for (uint32_t i=Size/4; i--; ) { *pDist++ = *pSour++; } LED_Off(); Время пересылки уменьшилось с 18ms до 14ms. (До этого я еще уменьшил время доступа к контроллеру ЖКИ, поэтому время и для 16-битовых пересылок уменьшилось). Компилятор в этом случае использует LDM/STM, но только один регистр использует. Вот кабы он знал, что количество пересылок кратно 8, 16... байтам... ;;;415 *pDist++ = *pSour++; 0003d2 ca20 LDM r2!,{r5} 0003d4 c020 STM r0!,{r5} Пробовал заменить указатели на uint64_t *, но быстрее не стало, а размер кода увеличился.
-
После того, как переписал все свои программы для работы с буфером ЖКИ во внешней памяти, вышеприведенный код перестал работать. Какие-то чудеса творятся. Решил плюнуть на эту затею, проверять бит TCIF сразу после запуска процедуры DMA. А то и совсем буду программно перекидывать, разница во времени по сравнению с DMA очень невелика.
-
1. Наверное, есть. Выводится в рабочую область генератор. Он же как усилитель работает. 2. Сигнал вы поделили, генератор его подтянул вверх. Наверное, можно было и сильнее поделить, генератор бы и такое воспринял. 3. вряд ли резисторы добавляют шума (наверное, искажают форму вы имели в виду), просто вы плохо смотрите.
-
Объявление переменных volatile
ViKo ответил Smoky тема в Программирование
А также любой входной порт, таймер и т.д. -
Я ж не сказал, что сама malloc() инициализирует выделенную память, а что она инициализируется потом, когда функция, которая запросила память, начинает ее использовать.
-
STM32F - прерывание от DMA раньше, чем ожидалось.
ViKo ответил KnightIgor тема в ARM
у меня Rev 11, не совпадают страницы и картинки, чем искать по компу, пойду с сайта скачаю :) Посмотрел. Да, правильно. Там еще сказано, что нужно флаг TC USART мониторить программно, чтобы удостовериться, что передача завершена. -
У меня были константы (static const), и брались в этом случае из Flash. Это, наверное, другое. Вопрос, как дальше использовалась память, выделенная с помощью malloc. Я только предположил, что для инициализации используется стек. А что, если самой malloc() требуется стек?
-
STM32F - прерывание от DMA раньше, чем ожидалось.
ViKo ответил KnightIgor тема в ARM
Я думаю, как только DMA записал последний байт в TDR USART, он и докладывает, что все сделал. При этом данные еще будут выдвигаться из TSR, сначала предыдущий байт, бит за битом, затем последний перепишется в TSR и тоже будет выдвигаться. см. Figure 278 -
не только емкость, и не только щупа. Отражения в линии, плохая разводка сигнала и земли, индуктивность заземляющего "крокодила" пробника осциллографа, и вообще, куда крокодил был прицеплен...
-
Помогите разобраться с 3-им состоянием
ViKo ответил Efedosov тема в Схемотехника
Никогда нельзя. КМОП микросхемы могут запросто запитаться от напряжения, приложенного к входам или выходам. И даже как-то работать при этом. Только не так, как надо. ЗЫ. Разве что, на оптронах объединить сигналы. ЗЗЫ. Или на транзисторах, открытые коллекторы объединить. -
Когда импульсный сигнал вы подали через конденсатор, то сместили постоянное напряжение (половина от размаха) на ноль. Значит, на вход XIN полезли отрицательные полуволны, которые, наверное, обрезаются внутренними диодами или из-за самой структуры чипа. Неужели простой резистивный делитель сопротивлением пару килоом не смог сделать то, что надо? Например, 1kOhm рядом с выходом, последовательно, и 1kOhm у входа, на землю.
-
Допустим, создается локальный массив из 512 байтов. При его создании нужно его инициализировать, забить нулями. У меня в функции, инициализирующей ЖКИ, использовался массив констант. Пока я не задал ему квалификатор static, этот массив сначала создавался в стеке.