Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сохранить файл, как сохранить график 
:(
    Опции темы
Chingachguk
Дата 19.9.2004, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Я не очень хорошо представляю себе твой стенд, но вот как мы раньше меряли максимальную загрузку: на вход АЦП (аналогово-цифровой преобразователь) вместо реальных данных давали сигнал с генератора с заданной частотой. На малых частотах процент регистрации был 100%, далее показатель запоминался и частота увеличивалась до того момента, пока программа не начинала "захлебываться". Вообще насколько мне позволяют судить мои скромные познания в com-портах, если приходит прерывание (а ты читаешь через прерывания ?) типа "буфер передачи содержит данные", то ты читаешь какой-то там регистр состояния буфера передачи до того времени, пока не выберешь все данные, те теоретически прерывание срабатывает "всегда" и все данные будут в буфере (если, конечно, он не переполниться). На обычном современном компе вполне можно ставить 115200, я думаю. На работе была моя программка типа терминал-терминал по com-портам, передающая файлы и т.п. Если что, я могу дать тебе ее исходняк.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Guest
Дата 23.9.2004, 12:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 23.9.2004, 13:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk !!!!

кстати, как ты считаешь:

будет ли быстрей работать прога , если порты программировать
на самом низком уровне без использования прерываний биос!???

я пока не умею, но мне кажется должно быть быстрее.

Конечно, лучше всего набор байтов делать в микроконтроллере,
но память у него всего 256 байт максимум, да и то часть ее
идет на программу.
А если нужно 16 бит, то вааще мало памяти.

  Вверх
Chingachguk
Дата 25.9.2004, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Получить текущие дату и время в дос и создать имя файла:

Код
; Date-> cx:dh:dl = YYYY:MM:DD
 mov  ah,2ah
 int  21h
 mov  year,cx
 mov  mon,dh
 mov  day,dl
; Time-> ch:cl:dh:dl = HH:MM:SS:MSEK
 mov  ah,2ch
 int  21h
 mov  hour,ch
 mov  min,cl
 mov  sec,dh
 mov  msec,dh

; Make filename "YY:MM:DD:HH.MM" (Year:Mon:Day:Hour.MIN)

 mov  ax,year
 mov  bl,100
 div  bl
 mov  al,ah
 call WORDtoBIN
 mov  word ptr FileNameYear,ax
 mov  al,mon
 call WORDtoBIN
 mov  word ptr FileNameMon,ax
 mov  al,day
 call WORDtoBIN
 mov  word ptr FileNameDay,ax
 mov  al,hour
 call WORDtoBIN
 mov  word ptr FileNameHour,ax
 mov  byte ptr FileNamePoint,'.'
 mov  al,min
 call WORDtoBIN
 mov  word ptr FileNameMin,ax
 mov  byte ptr FileNameEnd,'$'

; printf FileName

 mov  ah,9
 mov  dx,offset FileName
 int  21h

...

; Conver BYTE (AL) to string in AX (ex: AL=56->AX='65')
; Attension: AL must be less than 100 !
WORDtoBIN proc
 push bx
; AL:AH= AL / 10
 xor  ah,ah
 mov  bl,10
 div  bl
; make ASCII
 add  ax,'00'
 pop  bx
 ret
WORDtoBIN endp
year dw ?
mon  db ?
day  db ?
hour db ?
min  db ?
sec  db ?
msec db ?
FileName label byte
FileNameYear  db 2 dup(?)
FileNameMon   db 2 dup(?)
FileNameDay   db 2 dup(?)
FileNameHour  db 2 dup(?)
FileNamePoint db 1 dup(?)
FileNameMin   db 2 dup(?)
FileNameEnd   db ?


Диалоги можно организовать разными способами, в том числе и через функции дос (запрос на ввод строки или на ввод 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.
PM MAIL ICQ   Вверх
Guest
Дата 25.9.2004, 13:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk !!!!

ОГРОМНОЕ СПАСИБО!!

обязательно ознакомлюсь с твоей библиотекой--Vingrad.ru

а относительно варианта обработчика прерываний---
---- попробую написать самостоятельноя, помучаюсь,
если не получится --тебя попрошу выслать, СПАСИБО!

речь идет о реализации максимального быстродействия,
которое я то не замечу, но искажение сигнала не должно
быть.
  Вверх
Guest
Дата 25.9.2004, 14:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk


Статус: Freeware Обращений: 359
Автор: Chingachguk Сайт: перейти...
Описание:
Библиотека для разработки простых интерфейсов для *.pas. Функции на *.asm. Исходный текст. Поддержка мыши. Есть два примера.
Доступные файлы: 10 Кб (Скорость загрузки: 28.8 < 1 мин; 33.6 < 0 мин; ADSL < 1 мин)

НЕ СКАЧИВАЕТСЯ --- НЕДОСТУПНО!
попробую в другой день
  Вверх
Guest
Дата 25.9.2004, 14:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk

если не трудно, сбрось на [email protected]
  Вверх
Chingachguk
Дата 29.9.2004, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Сбросил на mail.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.