Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 23:38 20.09.24 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | 4 | >> (покажи всички)
Тема asm 3F8H FastReadLPT port ??нови  
АвторEFEX (Нерегистриран)
Публикувано11.04.07 21:16



Някой мохикан може ли да удари едно рамо...
Искам да чета порт на LPT-to например 378H но с гоооляяяма честота
Голяма честота = 1 микросекунда


Първо за да не бъхтя 3 вечери гугъл... ?е ли възможнo толкова често четене?
..при процесор 1GHz i нагоре... и дали мога да отградна процесора от OS-а :))

засега успявам да чета през 10 милисекунди т.е. на 10000 крачки съм от това което искам...
=============================
Function TForm1.GetLPTStatus:Byte;
begin
asm
MOV DX, 3F8H
IN AL,DX
MOV Result, AL
end;
Result := Ord(Result and 8 = 8);
end;
====================================
може би ще трябва за C++ да го направя че има идея че там било по бързо :)
в краен случай back to BP/portw ама не си е работа чак там да се връщам
10x



Тема 379H денови [re: EFEX]  
АвторEFEX (Нерегистриран)
Публикувано11.04.07 21:54



понеже правих някакви опити и съм пействал с грешен адрес...
та вярното е 379H ама вие си го знаете :)))



Тема Re: asm 3F8H FastReadLPT port ??нови [re: EFEX]  
Автор ike (некастриран)
Публикувано11.04.07 22:08



1. Сбъркал си форума. Тука е за JAVA, ERP и подобни ташаци .


2. Няма сми да четеш с голяма честота паралелния порт не може да работи на 8 МБ/с
3. Бъхти гоогъл никой не е умрял от това
4. Потърси как се прави DMA на ECP
5. Е ти на делфи какво очакваш 10mS си е идеално, истинските хакери пишат на ASM
6. Какво по точно се опитваш да направиш и що не ползваш USB
7. Всъщност трябваше да почнеш от това:
"Здравейте аз сам Пешо опитвам се да направя това, като се мъча така, дайте идеи защо не става"

Medice, cura te ipsum.

Тема Re: asm 3F8H FastReadLPT port ??нови [re: ike]  
АвторEFEX (Нерегистриран)
Публикувано12.04.07 00:15



Имам едно устройство X което генерира честотен сигнал...
Искам с по малко усилия да прочета(засека) честотата през някой си порт.. RS232,LPT,USB.. или ако може и направо през изхода на слушалките :)))
за RS трябва да се прави сериозна електроника за да праща данни, а през LPT-то може да се засече ниво 5-0 волта което аз го прочитам като 0-1 на пин 15 ... е те това е по малкото усилие... за USB е като на RS-а или поне дотам ми стигат знанията относно usb-to...
Та сега имам един тестов генератор на 2Hz който трябва да успея да му засека задния фронт с точност до 1 микросекунда което ми гарантира че моето устройство X ще мога да го настройвам с минимално отклонение... като 1 микросекунда грешка = ~186*5 = 0.930 сек на 5 дни което не е супер но мен ме устройва...
Знам че asm-o му е майката в такива случаи и затова търся помощ тук... писал на asm но на правец 8ц a за днешите PC-та не ми е оставало време да се заигравам...
Единствено си спомням мътно че по едно време се заигравах с адреса в паметта който едва ли не беше вързан директно за кварца та може би оттам ще трябва да тръгна за да получа нещо по точно или знам ли...


Благодаря ти за линковете все пак ... надявам се ще намеря нещо полезно за случая....



Тема Re: asm 3F8H FastReadLPT port ??нови [re: EFEX]  
АвторLabrett (Нерегистриран)
Публикувано12.04.07 11:01



Съвременните многозадачни операционни системи с графичните си интерфейси и темподобни булшити просто не стават за такава работа - все в някой момент нещо `свръх спешно` ще ти вземе СРU-то и ще ти го пусне след цяла секунда примерно, после ходи го гони .. да не говорим за случаи, когато windows-ът реши да дипли нещо по фрагментирания си хард диск и изчезва системата и за повече.

Самият порт .. той не е ли по 16-битовата ISA? Като честота има и повече от мегахерц в нея, ама не съм сигурен за начина, по който се ползва .. да не говорим, че това е споделен ресурс и то - проектиран преди 15-20 години.

И въобще, изпитвам съмнения дали е възможно да се изпълни тази задача със съществуващия хардуер и софтуер в едно РС .. по-скоро бих си сглобил нещо .. пък и ако се разтърсиш по каталозите на производители на електроника, не може да не се открият компоненти, които да свършат работа. Със сигурност има чипове, които могат да комуникират по какво ли не и са евтини, така че не вярвам да ти е проблем да закараш резултата до кое да е РС със стотина реда код.



Тема Re: asm 3F8H FastReadLPT port ??нови [re: EFEX]  
Автор ike (некастриран)
Публикувано12.04.07 11:29



Това което го искаш така не можеш да го направиш.
PC не е за това. Задай си въпроса в форума който посочих.
Там някой може и да е правил нещо подобно, но ме съмнява да минеш без
микроконтролер (имаше тема как с кварц на 20MHz с неравни делетели получаваш перфектен таимер) или най малкото без някоя интегралка
делител на 10 100 1000 10 000 100 000 или 1 000 000 която да направи интервалите по PC френдли ;)

Medice, cura te ipsum.


Тема Re: asm 3F8H FastReadLPT port ??нови [re: Labrett]  
АвторEFEX (Нерегистриран)
Публикувано12.04.07 11:42



По принцип операционната система никой немое я прескочи :)))
Тва дето мултитаскинга нали.. ала бала...всички полулучавали равен дял от процесора...чушки, да слязат тия по тъмнозелените да бутат автобуса....
и сигурно има и 2-3 нива на преоритет преди най високото дето само оп.с-ма може да си ги ползва

Не ми е проблем толкова защото :
ако получа интервали на четене примерно
0.0001, 0.0001, 0.0001, 0.0003 , 0.0001, 0.0001, 0.0001, 0.0001, 0.0005 , 0.0001, 0.0001, 0.0001, 0.0001, 0.0002 ....0.0001, 0.0001мсек
лесно мога да пренебрегна тези тикове и да взема само големия процент еднакви минимални интервали.

Btw направих следното

i := 0;
repeat
MemInMyLog(Now);
inc(i);
until i > 100000000;

и така за 1-2 мин според процесора и обстоятелствата процесора е мой
и след това обработвам статистиката

По принцип идеята е да прочета с възможно най голяма точност честотата на подавания сигнал което може да стане и за 10сек

Не ми се прави в ДОС защото след това искам да правя глезотийки графики и прочее простотии...

За самото засичане не е проблем да се спре всичко друго като програми и т.н процеси...

Дравера на LPT-то ми забранява достъпа до 379H на някои компютри и нещо гледам че требело компонент или некви други врътки за да мога да го чета.. ама чак до компонент ..ебаси... нема ли нещо по просто... да кажа на дравера да ми даде стойноста... или ако мога да го изключвам без последствия(принтер няма да се ползва)....

Са ше се разрова за DMA за LPT... ама то не опира толкова до самото LPT ... щото за който и да е адрес от паметта.. мен ме интересува максимално бързо четене на стойност на клетка от паметта.... а 379H е само дотолкова доколкото че става въпрос за слухтене на периферия...



Тема Re: asm 3F8H FastReadLPT port ??нови [re: ike]  
АвторEFEX (Нерегистриран)
Публикувано12.04.07 11:55



ike.. напълно съм съгласен с теб.. и искренно ти благодаря за съдействието... засега се опитвам да видя какво мога да постигна само с PC-то.. то е ясно че с електроника мога да го направя перфектно, но аз искам да видя каква максимална точност мога да постигна без електроника и ако не ме задоволява тогава да търся алтернативи... дет се вика ако мога да изхвърля зарядното на телефона че ич не ми се разнася... малко ми е телефона ми и то да ми се мота по джобвете... ако ме разбираш..

функцията NOW ми връща доста малки интервали и се надявам че ако я зацикля за 10 сек ще успея да се доближа до целта...



Тема Re: asm 3F8H FastReadLPT port ?? [re: EFEX]  
Автор Formal (незнаещ)
Публикувано12.04.07 17:58



функцията NOW ми връща доста малки интервали...
Да бе, малки! - около 16ms



Тема с 1 мегахерц не, ама с половин може [re: EFEX]  
Автор zaphod (void *lpNothing)
Публикувано12.04.07 18:08



а тия преждеговорищите не ги слушай, виндовса и той става за ртос, иначе игричките нямаше да се продават. не знам какъв е проблема при тебе (това под ХР трябва да гръмне), но аз съм подкарвал лпт през порта на половин мегахерц, колкото си му беше максимума. има и по-бързи, но не знам дали може да му се разчита. ако искаш да заграбиш процесора, под 98 директно може да забраниш прекъсването, а под ХР може да си пуснеш THREAD_PRIORITY_TIME_CRITICAL и тогава всичко друго мре. но в случая съм сигурен че не това ти е проблема.




NE SUTOR ULTRA CREPIDAM



Страници по тази тема: 1 | 2 | 3 | 4 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.