На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Програмирование LPT , I/O
    1 Как выводить данные через лпт я умею но есть проблема как выводить данные с интервалом 100 нано секунд и длительностью 5 нано секунд а в оставшееся время принимать данные длительность сигнала при подаче его на лпт всего 3 нано секудды
    2 Как сделать счетчик какторый будет работать независимо от частоты процесора
    3 как организовать два потока один принимает данные второй принимает и при этом каждй работает со своим временем обновления Передающий каждые 100 нано секунд отправляет данные
    а принимающий каждые 2 нано секунды проверяет на наличие сигнала
    4 Адрес используется 378h

    Прошу ответьте очень нужно плиЗЗЗЗЗ!!!
      может МИКРОсекунды? Параллельный порт просто не способен передавать данные с частотой 300МГц.
        Цитата

        1 Как выводить данные через лпт я умею но есть проблема как выводить данные с интервалом 100 нано секунд и длительностью 5 нано секунд а в оставшееся время принимать данные длительность сигнала при подаче его на лпт всего 3 нано секудды

        Vesper прав такие частоты на LPT ты не получишь
        Цитата

        2 Как сделать счетчик какторый будет работать независимо от частоты процесора
        2 Как сделать счетчик какторый будет работать независимо от частоты процесора
        3 как организовать два потока один принимает данные второй принимает и при этом каждй работает со своим временем обновления Передающий каждые 100 нано секунд отправляет данные
        а принимающий каждые 2 нано секунды проверяет на наличие сигнала
        4 Адрес используется 378h

        распиши подробнее, из того что ты написал непонятно, у тебя есть готовая железка и ты предполагаешь, что она так работает, или ты хочешь сделать свою?
          2. Есть вариант, калибровать его в процессе работы, или сразу до работы. Например:
          ExpandedWrap disabled
            smesh dd 0
            rdtscdata dd 10 dup(?)
            int08handler proc
            push eax
            push edx
            push esi
            push ds
            push cs
            pop ds
            mov eax, smesh
            cmp eax,5
            je @nafig
            mov esi,eax
            shl esi,3
            rdtsc
            mov [esi],eax
            inc esi
            inc esi
            inc esi
            inc esi
            mov [esi],edx
            inc byte ptr smesh {а какая разница, байт или двойное слово?}
            @nafig:
            pop ds
            pop esi
            pop edx
            pop eax
            jmp dword ptr int08save
            int08handler endp
          Пока твой smesh не станет 5, можно крутить какой-либо однообразный код, после чего посчитать среднюю разницу показаний rdtsc, сохраненных в rdtscdata, а потом от этой евличины и плясать.
            2Vesper
            ты о чем???
            в смысле кого калибровать собрался:)?
              Цитата
              HELL, 1.04.04, 11:55
              2 Как сделать счетчик какторый будет работать независимо от частоты процесора

              вот этот счетчик, правда его все равно нужно будет куда-то вешать... и микросекунду хоть и можно на прерываниях отсечь, а вот все операции за нее сделать...
                Точно ошибка вышла лпт работает на частоте 12,5 МГц да там все данные в микросекундах и еще вопрос этот счетчик действует как задержка между передаваемыми байтами???

                У устройства следующий алгоритм
                Основная программа
                -Инициализация ;устройству передается сигнал; и работает
                Поток 1
                -Дальше через определенные промежутки времени усройство кидает в порт байты
                Поток 1 енд
                Поток 2
                -Каждые 2 микросекунды устройство проверяет на наличие внешнего сигнала
                Поток 2 енд
                -реакция на входящие сигналы
                Основная программа енд

                Потоки действуют пока идет программа и основная программа их обрабатывает

                Добавлено в :
                potor,
                Насчет железяки ее смысл прост Вы наверное слышали про PIC контроллеры так вот эта штука их заменяет
                Я втыкаю свой апарат вмести ПИКа и загружаю прогу и сам компьютер выполнеет прогу за ПИК
                То есть проверка правильности прошивки ПИКа без его прошивки

                Мне это очень нужно к 15 мая так как это так скажем моя курсовая
                и с ассемблером я на ВЫ (знания есть как передать принять байт но прога очень лаймерская и работает она только на одном компьютере с гигинтскими багами из-за того что у меня все зависит от загруженности процесораибо задержки творю циклами и передавать данные через стек увы не умею
                в пике все немного проше)
                  1 счетчик и т.п. лучше всего реализовать в самом устройстве
                  2 LPT, ввиду его нежности лучше не использовать, USB рулит!!! либо COM который реализовать проще (я имею ввиду на стороне устройства)
                  3 побайтно лучше не пкредавать, передача ведется обычно пакетами, лучше использовать какой нибудь стандартный протокол(например Modbus)
                    1 Само устройство работает с частотой 20МГц а скорость передачи у него ограничена 10МГц
                    2 Если передавать через СОМ или USB то нужно устройство которое из последовательности битов опять составит весь байт и затем его даст
                    3 СОМ рабатает с частотой что-то около 5МГц поэтому не подходит
                    4 USB "что это за зверь и с чем его едят" как добраться до USB и как програмировать под него это то было бы великолепно если бы я об этом знал побольше кроме как абривиатуры

                    Если че моу кинуть прогу чтобы посмотрели и посоветовали чего
                      Цитата

                      1 Само устройство работает с частотой 20МГц а скорость передачи у него ограничена 10МГц

                      вот тут подробнее обьясни, что за данные собирает устройство, с какой целью их передавать в компьютер?
                      Цитата

                      4 USB "что это за зверь и с чем его едят" как добраться до USB и как програмировать под него это то было бы великолепно если бы я об этом знал побольше кроме как абривиатуры

                      сам я USB не программировал, но думаю так же как к comу и LPT, через:
                      CreateFile
                      ReadFile
                      WriteFile
                        По поводу счётчика глянь вот тут: http://pub3.nm.ru/pub/asm/delay.htm (GetTimerValue и т.д).
                        Заодно вот ещё модуль (на паскале).

                        Добавлено в :
                        А про USB см. тут: http://pascal.sources.ru/hardware/usb4pas.htm
                        (есть ещё спецификация на http://www.usb.org/home :D)
                        Прикреплённый файлПрикреплённый файлcounter.zip (9.78 Кбайт, скачиваний: 80)
                          1 Смысл устройства заключается как я уже выше говорил заключается в том что используя компьютер человек в реальном и виртуальном(в каком-то масштабе)времени сможет проверить программу которая по идее должна была бы быть прошита в микросхеме PIC
                          2 А эта микросхема способна принимать данные и отдавать вот поэтому их нужно симулировать
                          3 как сделать чтобы это еще все равботало под WINDOWS
                            в общем тебе надо выяснить, есть ли у этого пика JTAG, и если есть собрать стандартную схему, а если нет, то все равно отлаживать в реальном времени у тебчя не получится, т е тебе придется писать для пика что то типа Мини ОС, чтобы он реагировал на твои запросы, и передавал тебе свое состояние
                              Прошить пик вот и все и тогда мрожно было-бы не писать всю эту прогу и не создавать это устройство
                              Смысл в том что пик заменит сам компьютер и будет выполнять программу за пик по его алгоритму

                              А ссылки очень дельные
                                Цитата

                                1 Как выводить данные через лпт я умею но есть проблема как выводить данные с интервалом 100 нано секунд и длительностью 5 нано секунд а в оставшееся время принимать данные длительность сигнала при подаче его на лпт всего 3 нано секудды
                                2 Как сделать счетчик какторый будет работать независимо от частоты процесора
                                3 как организовать два потока один принимает данные второй принимает и при этом каждй работает со своим временем обновления Передающий каждые 100 нано секунд отправляет данные
                                а принимающий каждые 2 нано секунды проверяет на наличие сигнала

                                мы о чем вообще говорим (как я раньше на частоты не обратил внимание):)
                                ни один пик не имеет такого быстродействия
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0529 ]   [ 15 queries used ]   [ Generated: 2.05.24, 05:31 GMT ]