

prst
Свой-
Content Count
702 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by prst
-
не, тут мне важно не актуальность, а сама статья, там обсуждалась природа этого явления, вот это то что щас нужно мне
-
Помнится когда-то тут, в этом разделе кажется, было интересное обсуждение, где один из уважаемых (в то время) пользователей приводил интересную статью(помоему даже его собственную) - сравнение размера скомпиллированного кода ARM компилятора в зависимости от структуры файлов программы. Суть в топике передавался следуюший, есть арм компилятора, один, и есть по разному устроенная тестовая программа, которая делает одно и тоже в разных ее исполнениях. В одном варианте все сделано в одном .c файле, потом разбито на разные .c, потом на .c+.h, потом все это разбросано и для объектов какието параметры менялись... и сравнивался результирующий hex(или чтото еще на выходе). Помнится что самый большой выигрыш был когда все написано в одном файле, но при этом правда код привратился в той еще длины "полотенце"... Я сейчас не могу найти эту интересную статью, ребята, помогите плиз ее найти. Надеюсь на сторожил раздела форума, вы точно должны помнить, это было длинное интересное обсуждение, гдето в 2008-2010гг.
-
Wi-fi усилитель и беспроводной видеоканал
prst replied to Bakradze's topic in Форумы по интерфейсам
раньше были двунаправленные wifi усилители MANUS-212 (2Вт) возможно щас чтото есть еще... -
Есть много EPM3032A от Алтеры.
prst replied to A. Fig Lee's topic in Работаем с ПЛИС, области применения, выбор
Как нет? Этого не может быть. Можете ещё скачать альтеровский MAXplus II или старый квартус -
Разыскивается исполнитель
prst replied to SSar's topic in Предлагаю работу
- человека может быть уже и нет в живых - человек по какойто причине уже не заходит сюда Напишите ему в приват с оповещением о получении, и узнаете читает ли он вообще или нет. врядли он проигнорит ваше сообщение, в крайнем случае зарегте се новый аккаунт и пойдите на хитрость, предложите ему еще один заказ способов много, тем более гугл знает все )) Ну или попросите моделаторов отседить по логам и IP -
DSP-начало!
prst replied to NSH's topic in Сигнальные процессоры и их программирование - DSP
Начните с BF533 или BF532 они самые доступные и самые дешевые АЦП/ЦАП у них на борту нет, обычно для DSP они внешние -
Altuim 10 - перетаскивание участка схемы мышей
prst replied to prst's topic in Altium Designer, DXP, Protel
Спасибо, как раз только что этот способ нашел, правда он у меня по CTRL+Пробел, меняет углы )) И кстати возможно нашел только что баг у 10го альтиума - если перед такой сменой правил переворотов расставить лабель и десигнатор, то после поворотов они устанавливаются в дефолтовое состояние... не удобно малехо, думаю это баг. -
Altuim 10 - перетаскивание участка схемы мышей
prst replied to prst's topic in Altium Designer, DXP, Protel
Да, спасибо, похоже то что я искал, но тоже это не совсем то. Дело в том что когда перемещаешь то схематик соединяет под 90грд все соединения, то есть не особо то и удобно. ну а при соедении они все замыкаются, и это по сути ни чего не улучшает... Я конечно понимаю что пикад это прошлое и другой продукт - но не могу понять логику - почему тут не сделано такое удобство, что бы соединялись проводники под любым углом как в старом добром пикаде. Может где-то есть галочка отключающая насильно 90грд? -
Altuim 10 - перетаскивание участка схемы мышей
prst replied to prst's topic in Altium Designer, DXP, Protel
Altuim 10странности, мне этот вопрос не дает покоя. Например сделал я соедение проводника к элементу, и потом захотел его подвинуть, выделяю его и тяну, и.... ну просто пэинт какой-то, честное слово. Вместо того, что бы тянуть все соединения и элемент - он тянет только лишь элемент, а проводники с выкушенным местом остаются на месте. Ыыыыы. Блин, Пикад с такой примитивной задачей справляется на ура. а если мне нужно несколько десятков-сотен элементов переместить, это что потом пересоединенять все эти проводники по новой? Может что-то не включено или какую галочку нужно дергнуть? Добавлено ага, оказывется если зажать Ctrl то как нужно, а вот как сделать по умолчанию так, что бы контрол не жать постоянно? -
Altuim 10 - перетаскивание участка схемы мышей
prst posted a topic in Altium Designer, DXP, Protel
Altuim 10мне этот вопрос не дает покоя итак - вот сделал я соедение проводника к элементу, и потом захотел его подвинуть, выделяю его и тяну, и.... ну просто пэинт какой-то, честное слово. Вместо того, что бы тянуть все соединения и элемент - он тянет только лишь элемент, а проводникис выкушенным местом остаются на месте. Ыыыыы. Блин, Пикад с такой примитивной задачей справляется на ура. а если мне нужно несколько десятков-сотен элементов переместить, это что потом пересоединенять все эти проводники по новой? Может что-то не включено или какую галочку нужно дергнуть? -
Добавлено еще одно место продажи: на сайте UNIDK - Запаянный модуль или Пустая плата.
-
Девиация фазы
prst replied to Kruftin's topic in Вопросы аналоговой техники
фазовый детектор? -
Цены существенно снизились: ссылка - http://www.uschema.com/forum/viewtopic.php?p=18121#p18121
-
Помогите советом SAM7s256 шьется нормально, SAM7s128 - не хотят ни в какую!
prst replied to Димон Безпарольный's topic in ARM
у меня такое было когда прошивка в кейле под 64й, а шьеш в 256й ил 128й а если собирать под GCC работает на любом камне -
В варианте который я предлагаю ниже по идее можно без кнопки полностью исходник и описание принципа работы тут - http://projects.org.ua/forum/viewtopic.php?p=17839#17839 я ранее эту схему использовал - советую. если в параллель транзистора TV2 подавать напряжение или в затвор VT1 - то можно без кнопки выключать, прада что бы включить - кнопка нужна будет все равно :rolleyes: .
-
да я знаю, вы меня не задели )) я этот код вообще не причесывал, и развернул специально что бы не перепрыгивать между листингами и функциями. Это только на стадию запуска 4 битного режима.
-
Запускаю на своем модуле ARM7MODA LCD индикатор из серии KS0066. Режим этот нужен, так что вопрос принципиальный. Уже столько камней об него заточено что и писать нет смысла, однако есть какие то грабли при запуске, и я вот не пойму то ли это у него не так что то то ли я жутко торможу, надеюсь что первое. Жутко принципиальный момент, по этому хочется его запустить. Итак, 8bit mode - запустился на раз плюнуть, код я подставил свой старый, уже рабочий. Но был затык, и как оказалось, выяснил опытным путем, что индикатор мне попался жуткий тормозяра... каких я не встречал до этого. Индикатор NEWTEC NC08082A. Ну то ладно, главное что нашел виновника, это - его медлительность. Потом залез в его даташит, там приведены намного меньшие таймауты необходимые для работы... А по моему коду получается что нужно намного большие временные периоды между RS -> E -> Data. А вот 4bit mode - напрочь не хочет заводиться. И вот тут у меня какой то шоковый ступор. Так как 4 бит я уже запускал несколько штук ранее. А на этом индикаторе - не получается. В общем вот я вам и пишу, взгляните на код и скажите, это я где то торможу или для этого индикатора нужно что-то отличное от даташита... На не оптимизированный код в 4bit mode не обращайте внимания, это я уже ради удобства выснения проблемы все перенес в один фрагмент #define _RS _B8 #define _E _B9 #define LCD_TIME_FAST (10) #define LCD_TIME_SLOW (50) #define LCD_TIME LCD_TIME_SLOW ... ... //----------------------------------------------------------- void LCD_Config(void) { #ifdef LCD_4_BITS AT91PS_SYS regs = AT91C_BASE_SYS; tick(600*LCD_TIME); regs->PIOA_ODSR &=~_RS; // RS=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; delay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; delay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x20); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x80); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; delay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x00); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x80); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; delay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x00); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x10); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; delay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x00); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (0x30); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; delay(); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_RS; // RS=0; #endif /*LCD_4_BITS*/ #ifdef LCD_8_BITS unsigned char i=0, init_value[] = { 0x01, 0x02, 0x06, 0x0c, 0x14, 0x38 }; /* 16x2 */ for (i=0; i<sizeof(init_value); i++) { lcd_cmd ( init_value[i] ); } #endif /*LCD_8_BITS*/ } /* LCD_Config() */ //----------------------------------------------------------- void lcd_cmd (unsigned char ch) { AT91PS_SYS regs = AT91C_BASE_SYS; #ifdef LCD_4_BITS udelay(); tick(600*LCD_TIME); regs->PIOA_ODSR &=~_RS;// RS=0; tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (ch&0xf0); tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; udelay(); tick(60*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(60*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |= (ch&0x0f)<<4; tick(60*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; tick(60*LCD_TIME); regs->PIOA_ODSR &=~_RS; // RS=0; #endif /*LCD_4_BITS*/ #ifdef LCD_8_BITS tick(600*LCD_TIME); regs->PIOA_ODSR &=~_RS;// RS=0; tick(6*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(6*LCD_TIME); regs->PIOA_ODSR &= 0xffffff00; tick(6*LCD_TIME); regs->PIOA_ODSR |= ch; tick(6*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; tick(6*LCD_TIME); regs->PIOA_ODSR &=~_RS; // RS=0; #endif /*LCD_8_BITS*/ } /* lcd_cmd() */ //----------------------------------------------------------- // Set address of first byte on desired row void lcd_xy( unsigned char y, unsigned char x ) { unsigned char LCD_ROW_ADDRESS[4] = { 0x00, 0x40, 0x14, 0x54 }; unsigned char AddrXYData; AT91PS_SYS regs = AT91C_BASE_SYS; AddrXYData = LCD_ROW_ADDRESS[y]+x; #ifdef LCD_4_BITS tick(60*LCD_TIME); regs->PIOA_ODSR &=~_RS; // RS=0; tick(40*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(40*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |=0x80|(AddrXYData&0xF0); tick(40*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; tick(40*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(40*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |=(AddrXYData&0x0F)<<4; tick(40*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; #endif /*LCD_4_BITS*/ #ifdef LCD_8_BITS tick(6*LCD_TIME); regs->PIOA_ODSR &=~_RS;// RS=0; tick(4*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(4*LCD_TIME); regs->PIOA_ODSR &= 0xffffff00; tick(1); regs->PIOA_ODSR |=(0x80|AddrXYData); tick(4*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; #endif /*LCD_8_BITS*/ } /* lcd_xy() */ //----------------------------------------------------------- /* Show message on LCD*/ void lcd_char( unsigned char value ) { AT91PS_SYS regs = AT91C_BASE_SYS; unsigned char kod; kod = value; kod = lcd_recode( value ); #ifdef LCD_4_BITS tick(30*LCD_TIME); regs->PIOA_ODSR |=_RS; // RS=1; tick(30*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(20*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |=((kod &0xF0)); tick(20*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; tick(30*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(20*LCD_TIME); regs->PIOA_ODSR &= 0xffffff0f; tick(1); regs->PIOA_ODSR |=((kod &0x0F)<<4); tick(20*LCD_TIME); regs->PIOA_ODSR &=~_E; // E=0; #endif /*LCD_4_BITS*/ #ifdef LCD_8_BITS tick(3*LCD_TIME); regs->PIOA_ODSR |=_RS; // RS=1; tick(3*LCD_TIME); regs->PIOA_ODSR |=_E; // E=1; tick(2*LCD_TIME); regs->PIOA_ODSR &= 0xffffff00; tick(1); regs->PIOA_ODSR |= kod; tick(2*LCD_TIME); regs->PIOA_ODSR &= ~_E; // E=0; #endif /*LCD_8_BITS*/ } /* lcd_char() */ ... ... ...тормознутость можете сами заметить по 60*LCD_TIME Вопрос - Где же что не правильно? Или есть такое что индикатор не поддерживает этот режим? Так должен - даташит обещает...
-
С Россией и другими странами что-то оказывается не просто осуществлять доставку. Я поступил иначе, раз я немогу отправить сам, то решил просто выставить эти модули в магазины, и таким образом всем желающим становится проще купить и магазин сам осуществит доставку, у них эта тропинка уже пройдена. Правда любая доставка платная. Да, кстати о том где их уже можно найти ( модуль, или только плату) Сейчас они есть в Космодроме(цены+фото), и в Радиомаге. Пока это единственный способ для других стран, поймите меня правильно, искал способы, не нашел иначе... Все еще ищю, что бы было удобнее. Вот фото с Космодрома, где лучше видно весь модуль: там же можно заказывать и пустые платы. Цены почти те же, что и на сайте. Так что, можете смело заказывать там. :)
-
Как в Linux увеличить количество устройств /dev/mem
prst replied to Oops's topic in Операционные системы
по моему это в лоб не рещается причина простая, кернел при распаковке, детектит последние адреса, и распаковывается в конец памяти, таким образом он уже по умолчанию работает с всей памятью. возможно существуют на кернел.орге патчи для такого. но сомниваюсь в этом -
там гдето это есть, суть такова что если 9200 не находит не один из способов загрузиться, то он непрерывно шлет на УАРТ символы CCCCC
-
на компорт бросает символы "с"? - ссссссс... если да, то что то с загрузчиком
-
Перехват данных с консольного терминала в Linux'е
prst replied to Oops's topic in Операционные системы
от amw - http://code.google.com/u/amwsoft/ вот то что вам нужно http://code.google.com/p/developer-console/ -
Размещение конденсаторов вокруг BGA
prst replied to if_'s topic in Altium Designer, DXP, Protel
на сколько я помню правило общее, идеальное требование - на каждый пин питания, минимум по 1 ВЧ конденсатору Смысл в том что бы была минимальная длина от пина до конденсатора. Конечно, может есть и другие правила, но я другого не встречал. -
Печатные платы на (в) Украине.
prst replied to koziy_mf's topic in Изготовление ПП - PCB manufacturing
у Лактионова большой минус - отсутсвия электроконтроля. второй минус - поршивая шелкография. третий минус - отвратительное лужение. из за того через месяц пады на платах почти не запаиваемые. я на одно своей опытной партии подзалетел из-за него, так как был большой процент брака, из 40шт, минимум 5-8 шт это брак. и если с переходными все ясно, то особенно не понравились междорожковый КЗ. а так да, быстро, и если переходные/расстояния больше чем 0,3,,0,4мм - его можно рассматривать