![]() |
|
|
![]()
|
|
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Я не очень хорошо представляю себе твой стенд, но вот как мы раньше меряли максимальную загрузку: на вход АЦП (аналогово-цифровой преобразователь) вместо реальных данных давали сигнал с генератора с заданной частотой. На малых частотах процент регистрации был 100%, далее показатель запоминался и частота увеличивалась до того момента, пока программа не начинала "захлебываться". Вообще насколько мне позволяют судить мои скромные познания в com-портах, если приходит прерывание (а ты читаешь через прерывания ?) типа "буфер передачи содержит данные", то ты читаешь какой-то там регистр состояния буфера передачи до того времени, пока не выберешь все данные, те теоретически прерывание срабатывает "всегда" и все данные будут в буфере (если, конечно, он не переполниться). На обычном современном компе вполне можно ставить 115200, я думаю. На работе была моя программка типа терминал-терминал по com-портам, передающая файлы и т.п. Если что, я могу дать тебе ее исходняк.
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
уважаемый Chingachguk !!!!
я разобрался в твоей проге. мне показалось ,что создать и сохранить файл можно проще: ; создать файл mov AH,3Ch XOR CX,CX MOV DX,offset fname INT 21h ; создать c:\masm611\bin\myfile.dat JC err mov bx,ax ; AX - дескриптор ; записать в файл mov AH,40h MOV CX,8 ; число байт mov dx,offset m1 int 21h ; записать cmp ax,cx jnz err ; закрыть MOV AH,3Eh int 21h err: MOV AH,4Ch int 21h m1 DB 8 DUP(0) ;резервируем 8 яп fname db "c:\masm611\bin\myfile.dat",0 здесь , конечно нет необходимых тестов. относительно твоего последнего сообщения , не совсем ясно- -- о каких буферах идет речь. я пока с буферами просто не разбирался. А относительно стенда , это просто -- микроконтроллер 51 серии с ацп с которого по rs-232 сигналы идут в комп. На ацп подаем сигналы с датчика. Диапазон от 0 до 5 вольт. Может ты сталкивался с такой задачкой ::::: мы создаем файл , но таких файлов то много надо!!!! Есть идея -- присваивать им название минута-час -месяц.dat Допустим , мы умеем считывать эти параметры из компа. Но как их представить в виде названия файла!???!!!!!!!!!!!!!!!! И как при этом еще и в виде сервиса предварительно вывести на экран в виде сообщения? Все известные мне прерывания перебрал, ничего не получается. Слышал, что на других языках это можно, но на других не интересно. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chingachguk !!!!
кстати, как ты считаешь: будет ли быстрей работать прога , если порты программировать на самом низком уровне без использования прерываний биос!??? я пока не умею, но мне кажется должно быть быстрее. Конечно, лучше всего набор байтов делать в микроконтроллере, но память у него всего 256 байт максимум, да и то часть ее идет на программу. А если нужно 16 бит, то вааще мало памяти. |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Получить текущие дату и время в дос и создать имя файла:
Диалоги можно организовать разными способами, в том числе и через функции дос (запрос на ввод строки или на ввод 1-го символа). Но у таких функций есть свои ограничения: это обработка специальных клавиш и проч. Наиболее оптимальный (но и более трудоемкий) путь: использовать int 16h для проверки нажатия клавиши или ее считывания, для рисования использовать прямой вывод в видеобуфер в текстовом режиме 03h (запись в память с адреса 0B800h). Можешь посмотреть мою библиотеку pas_lib, размещенную в каталоге программ Vingrad.ru - там я организую менюшечные диалоги именно таким образом и именно на ассемблере. Насчет быстрее или медленнее - сказать трудно, написать самому получение данных с ком-порта совсем не сложно, для этого нужно написать обработчик прерывания линии ком-порта. Я могу тебе дать его вариант на си/пасе/асме. Скорее всего на современных компах даже на скорости 115200 ты не заметишь разницы. Однако в ряде случаев int 14h может не дать необходимую гибкость. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chingachguk !!!!
ОГРОМНОЕ СПАСИБО!! обязательно ознакомлюсь с твоей библиотекой--Vingrad.ru а относительно варианта обработчика прерываний--- ---- попробую написать самостоятельноя, помучаюсь, если не получится --тебя попрошу выслать, СПАСИБО! речь идет о реализации максимального быстродействия, которое я то не замечу, но искажение сигнала не должно быть. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chingachguk
Статус: Freeware Обращений: 359 Автор: Chingachguk Сайт: перейти... Описание: Библиотека для разработки простых интерфейсов для *.pas. Функции на *.asm. Исходный текст. Поддержка мыши. Есть два примера. Доступные файлы: 10 Кб (Скорость загрузки: 28.8 < 1 мин; 33.6 < 0 мин; ADSL < 1 мин) НЕ СКАЧИВАЕТСЯ --- НЕДОСТУПНО! попробую в другой день |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
||||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Сбросил на mail.
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |