Перейти до вмісту

Мікроконтролери


Повідомлень в темі: 118

#81 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 28.01.2010 – 23:29

Перегляд дописуFT232BM (28.01.2010 23:24) писав:

Але не SRAM((
там в умові є слово "чи". тобто чи память програм, чи даних.




 уммм... в принципі, умова не дуже зрозуміла... тобто чи має бути і те і інше задіяне, чи або те, або інше  

Повідомлення відредагував Андре: 28.01.2010 – 23:29

  • 0

#82 Роланд

    Purple haze all around

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1007 повідомлень
  • Стать:Чоловік
  • Місто:Житомир

Відправлено 29.01.2010 – 09:06

Перегляд дописуАндре (26.01.2010 23:02) писав:

виявляється частота осцилятора ділиться на 8. такщо реально процесор працює на 1,2МГц. чомусь в документації такого не побачив. колись грався з AT89C2051, то там частота кварца ділилась на 12 і виходила частота процесора. здогадувався, що тут таке може бути, але не міг знайти на скільки конкретно ділиться.
в мене питання.. а Протеус не підійшов? Да, купа своїх глюків, але твоя схема мала працювати нормально.. І з частотою, думаю, не було б таких заморочок, адже CKDIV завжди на виду.
  • 0

#83 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 29.01.2010 – 09:49

Перегляд дописуРоланд (29.01.2010 09:06) писав:

в мене питання.. а Протеус не підійшов? Да, купа своїх глюків, але твоя схема мала працювати нормально.. І з частотою, думаю, не було б таких заморочок, адже CKDIV завжди на виду.

чув про цю програму, але ніяк руки не доходили... ок, попробую. дякую
  • 0

#84 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 29.01.2010 – 12:44

Ааааааааа. Оверовекквотінг мене вбиває. Аааааааа!
  • 0

#85 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 29.01.2010 – 14:24

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

LDI r16,0b01000;
OUT DDRB,R16;
LDI r16,0b10101010;
START:
 OUT PORTB,R16;
 ROR r16;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
 nop;
	OUT PORTB,R16;
ROL r16;
RJMP START;

генератор прямокутного сигналу. в протеусі період коливання = 15мкс, а в реалі осцилограф показав 22мкс.  :rolleyes:

це таке відхилення частоти може бути від номіналу, чи в чому справа?
  • 0

#86 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 01.02.2010 – 00:35

я знаю, як написати для МСS-51 ровну прогу, що генерує прямокутний сигнал на ніжці порта. Але на осцилографі не перевіряв.
  • 0

#87 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 23.02.2010 – 10:55

 зліпив в протеусі 7 схему мультивібратора, підконектив осцилограф... і не фунциклює. напрука на колекторі транзистора стабільно одинакова. :rolleyes:
  • 0

#88 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 28.02.2010 – 22:38

Перегляд дописуАндре (23.02.2010 10:55) писав:

 зліпив в протеусі 7 схему мультивібратора, підконектив осцилограф... і не фунциклює. напрука на колекторі транзистора стабільно одинакова. :ggggg:
Не дивно, протеус глючний.
  • 0

#89 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 04.03.2010 – 17:12

Знищив рекламу
  • 0

#90 степовик

    Профі

  • Заблоковані
  • PipPipPipPipPipPipPip
  • 372 повідомлень
  • Стать:Чоловік
  • Місто:степу

Відправлено 06.03.2010 – 00:03

Попередження за п.п. 2.5.1 Писати дописи, що мають лише власне ставлення до теми або допису без ширшого обґрунтування (на зразок "Дякую", "+1", "смішно", "не подобається", "проти" і т. ін.)
FT232BM

  • 0

#91 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 16.05.2010 – 10:48

зрозумів чому мультивібратор в протеусі не працював. тут не справа в глючності. якщо в протеусі вибрати резистор 10к, то він буде мати ідеально 10к. якщо скласти схему мультивібратора то дві його половини будуть ідеально одинаковими, тому й коливання не можуть розпочатись. якщо трохи змінити нормінали - все працює.
  • 0

#92 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 23.11.2010 – 23:28

Щоб попусту не гаяти часу на теревенях, буду розв*язувати тут РГР.
Ітак....

1. Розробити принципову схму контроллра з мікроконтроллером MCS-51 (самостійно вибрати оптимальний тип мівкроконтроллера), колами живлення, кварцовим генератором, схемою скиду і АЦП MAX1240. З використанням мови ассемблеру розробити драйвер MAX1240.
Написати програму, що реалізує обробку елементів двух масивів А[i], B[i], розміщених в пам*яті програм. Результуючий масив Z[i] розмістити в RAM пам*яті даних. Математична операція Z[i]=A[i]+B[i], де i=10.

Зміст графічної частини:
1. Схема електрична принципова.
2. Алгоритм програмного забепечення.
  • 0

#93 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 23.11.2010 – 23:59

Мову асемблера використовувати? Кінчено трохи. Вірніше зовсім. Треба би компілятора вибрати. Можливо, MASM та використати WinAPI. Справа в тому, що класична програма з прямим зверненням до портів вводу-виводу може не запрацювати.

Повідомлення відредагував FT232BM: 23.11.2010 – 23:59

  • 0

#94 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 24.11.2010 – 00:17

Перегляд дописуFT232BM (23.11.2010 23:59) писав:

Мову асемблера використовувати? Кінчено трохи. Вірніше зовсім. Треба би компілятора вибрати. Можливо, MASM та використати WinAPI. Справа в тому, що класична програма з прямим зверненням до портів вводу-виводу може не запрацювати.

а MASM це хіба не ассемблер? тільки макро)

я чомусь не можу вїхати в два останні пости... як поєднати контролери, пхп і вінапі? :kozak:
  • 0

#95 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 24.11.2010 – 00:20

Ну да, МайкрософтМакроАсемблер. Ну а через він апі можна звернутись до RS-232 інтерфейсу ПК. От ПХП де знайшов для мене загадка.
  • 0

#96 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 24.11.2010 – 00:58

Колись писав лаби по COM свою стару не знайшов а от хороший семпл є. Це все про той "класичний випадок"
;	LINKCOM.ASM
;Interfasing COM port.

	TITLE LINKCOM

LINKCOM_TEXT	SEGMENT 'CODE'
	ORG 100H
	ASSUME CS:LINKCOM_TEXT,DS:LINKCOM_TEXT

START:	JMP Begin
;------------------------- DATA ------------------------------
NameFile	DB	25 DUP('S','t','a','c','k',' '),0
Len		DB	00000011B
Bstop		DB	00000000B
Parity		DB	00011000B
Speed		DB	11100000B
Base		DW	0
NumeCom		DW	0
HederFile	DW	0
LenFile		DW	0
SegMem		DW	0
FlagMem		DB	0
FlagFile	DB	0
FlagRead	DB	0
;---------------------------------------------------------------
LenDTA		DW	44
DTA		DB	21 DUP ('R')
ATRIB		DB	0
TIME		DW	0
DATE		DW	0
LSIZE		DW	0
HSIZE		DW	0
FNAME		DB	13 DUP ('N')
;----------------------------------------------------------------

;============  выделение памяти , чтение параметров командной строки ========
Begin: 	
	MOV AH,4AH		; ф-ия DOS "изменение длины блока памяти".
	LEA BX,LabelEnd		; в BX необходимый объем памяти .
	MOV CL,4H		;
	SHR BX,CL		;
	ADD BX,1		; BX=BX/16+1
	INT 21H

	XOR CX,CX		; загрузка в CL из PSP (ds:[80h]) операнда
	MOV CL,ES:[80H]		; командной строки - кол-ва символов после
	CMP CL,0		; имени файла .
	JNE CheckComStr		; 
	LEA DX,MessageHelp	; если без операндов (0 символов) - 
	CALL ExitError		; выход по ошибке .
CheckComStr:
	MOV DI,81H		
LoopSCheck:
	MOV AL,[DI]		;-¬ 
	CMP AL,'/'		; ¦ поиск среди символов операнда '/'
	JE ReadKey		; ¦ (в DI - кол-во прочитанных символов) .
	INC DI			; ¦
	LOOP LoopSCheck		;--
ReadKey:
	INC DI                  
	MOV AL,[DI]             ; чтение в AL следующего после '/' символа
	AND AL,0DFH             ; перевод символа в верхний регистр .
	CMP AL,'W'              ; сравнение с 'W'
	JE LoadComStr           ;
	CMP AL,'R'              ; сравнение с 'R'
	JE ReadComPort          ;
ErrName:
	LEA DX,MessageHelp      ; не '/W'и не '/R' - выход по ошибке
	CALL ExitError          ;
ReadComPort:                    ; ключ '/R' - режим чтения
	JMP ReadPort            
LoadComStr:                     ; ключ '/W'
	LEA SI,NameFile         ; SI - область памяти для записи имени файла
	MOV BX,0                ; BX - кол-во символов в имени файла
	INC DI			;
LoopLFile:			
	MOV AL,[DI]		;
	INC DI			;
	CMP AL,20H		;
	JE LoopLFile		; если пpобел -- следующий символ
	CMP AL,0DH		; 
	JE CheckFile		; если "ENTER" - имя файла пpочитано
	MOV [SI],AL		;
	INC SI			;
	INC BX			;
	LOOP LoopLFile		; иначе - чтение следующего символа
CheckFile:
	CMP BX,0		; если в имени файла 0 символов - 
	JE ErrName		; выход по ошибке.
	MOV BYTE PTR [SI],0	; последний байт имени уст.=0 
	LEA DX,NameFile		; ¬
	MOV CX,20H		; ¦ функция DOS "FIND FIRST"
	MOV AH,4EH		; ¦ по шаблону в DX
	INT 21H			; -
	CMP AX,00		; 
	JE WritePort		; AX не 0 -- нет ошибки
	LEA DX,MessErrFind	; "указанный файл не найден"
	CALL ExitError		; выход по ошибке
WritePort:	
	LEA SI,DTA		;¬
	MOV AH,2FH		;¦ получения адреса DTA в ES:BX
	INT 21H			;-
	MOV DI,BX		;
	MOV CX,LenDTA		;
LoopSaveDTA:		
	MOV AL,ES:DI		;¬
	MOV [SI],AL		;¦
	INC DI			;¦ переписыв. DTA по адресу DS:DTA
	INC SI			;¦
	LOOP LoopSaveDTA	;-
	CALL WriteComFile	; пересылка файла
	JMP ExitProg		;
ReadPort:	
	MOV FlagRead,1		;
	CALL ReadComFile	; прием файла
ExitProg:	
	MOV AX,4C00H		;завершение программы со статусом 0
	INT 21H			; 

;****************************************************************************
;*		              ПЕРЕСЫЛКА ФАЙЛА                               *
;****************************************************************************
WriteComFile	PROC NEAR

	JMP BeginWrite

MESSW1	DB	'Идет пеpесылка файла ...',0DH,0AH,'$' 
MESSW2	DB	'Пеpесылка завеpшена !',0DH,0AH,'$'

BeginWrite:	
	CALL InitComPort	; инициализация СОМ порта	
	CALL CheckLan		; проверка связи и наличия программы-приемника
	CALL OpenFile		; открыть файл
	CALL AllocMem		; выделение памяти
	CALL ReadInDisk		; чтение файла в память
	LEA DX,MESSW1		; ¬ вывод сообщения
	MOV AH,09H		; ¦ "Идет пересылка ..."
	INT 21H			; -
	PUSH DS			;
	POP ES			; ES = DS
	LEA SI,DTA		; 
	MOV CX,LenDTA		; CX = длина DTA
PutDTA:				;¬
	CALL WriteByte		;¦ побайтрая пересылка DTA  
	LOOP PutDTA		;-
OkPutDTA:
	CALL ReadByte		; чтение байта-ответа
	CMP AL,0FFH		; 
	JNE OkPutDTA		; ожидание прихода ответа = 0FFh
	XOR SI,SI		;
	MOV AX,SegMem		;
	PUSH AX			;
	POP ES			;ES= начало выделенной памяти ( файла )
	MOV CX,LenFile		;
	ADD CX,1		;CX= длина файла + 1
PutFile:			;¬
	CALL WriteByte		;¦ побайтная передача файла
	LOOP PutFile		;-
	CALL CloseFile		; закрыть файл
	LEA DX,MESSW2		;¬
	MOV AH,09H		;¦  " Персылка завершена !"
	INT 21H			;-
	RET

WriteComFile	ENDP
;***************************************************************************
;*			       ПРИЕМ ФАЙЛА                                 *
;***************************************************************************
ReadComFile	PROC NEAR

	JMP BeginRead

MESSR1	DB	09H,' Идет пpием файла ...',0DH,0AH,'$'
MESSR2	DB	09H,' Идет запись файла на диск ...',0DH,0AH,'$'
MESSR3	DB	09H,' Пpием завеpшен !',0DH,0AH,'$'
MESSR4	DB	0FFH
MESSR5	DB	0FEH

BeginRead:	
	CALL InitComPort
	PUSH DS
	POP ES
	LEA DX,MessRead
	MOV AH,09H
	INT 21H
	LEA SI,MESSR5
	CALL WriteByte
WaitLan:
	MOV DX,Base
	ADD dX,05H
	IN AL,DX
	TEST AL,00100000B
	JNZ OkLan
	JMP WaitLan
OkLan:	
	MOV CX,LenDTA
	LEA SI,DTA
ReadDTA:
	CALL ReadByte
	MOV [SI],AL
	INC SI
	LOOP ReadDTA
	LEA DX,MESSR1
	MOV AH,09H
	INT 21H
	LEA SI,MESSR4
	CALL WriteByte
Wait1Lan:
	MOV DX,Base
	ADD DX,05H
	IN AL,DX
	TEST AL,00100000B
	JNZ Ok1Lan
	JMP Wait1Lan
Ok1Lan:
	MOV AX,LSIZE
	MOV LenFile,AX
	CALL AllocMem
	XOR DI,DI
	PUSH AX
	POP ES
	MOV CX,LenFile
ReadFile:
	CALL ReadByte
	MOV ES:DI,AL
	INC DI
	LOOP ReadFile
	LEA DX,MESSR2
	MOV AH,09H
	INT 21H
	CALL CreatFile
	LEA DX,MESSR3
	MOV AH,09H
	INT 21H
	MOV AX,SegMem
	PUSH AX
	POP ES
	MOV AH,49H
	INT 21H
	JMP BeginRead

ReadComFile	ENDP


;***************************************************************************
;*                        ИНИЦИАЛИЗАЦИЯ СОМ поpта                          *
;***************************************************************************
InitComPort	PROC NEAR

	MOV AX,40H		;
	PUSH AX			;
	POP ES			;
	MOV AX,ES:[0]		;
	MOV Base,AX		; Base = [0:400h] -- базовый адрес СОМ - порта
	XOR AL,AL		; устанавливаем биты :
	OR AL,Len		; число битов данных (8)
	OR AL,Bstop		; число стоп-битов (1)
	OR AL,Parity		; тип четности (постоянный бит четности = 0)
	OR AL,Speed		; порты 3F8h и 3F9h для загрузки скорости обмена
	XOR AH,AH		; ф-ия инициализации СОМ порта              
	MOV DX,NumeCom		; выбор номера СОМ порта
	INT 14H			; инициализация

ContinueInit:	
	RET

InitComPort	ENDP

;***************************************************************************
;*                     Пpовеpка стыковки СОМ поpтов                        *
;***************************************************************************

CheckLan	PROC NEAR

	lea dx,mesWait
	mov ah,9
	int 21h

	mov ah,3fh
	mov bx,0
	mov cx,1
	lea dx,rrr
	int 21h

	
	PUSH DS
	POP ES
	MOV DX,Base
	ADD DX,05H
	IN AL,DX
	TEST AL,00000001B
	JNZ Checkcheck
	JMP NoRunLc
CheckCheck:
	XOR AL,AL
	CALL ReadByte
	CMP AL,0FEH
	JE OkCheck
	LEA DX,MessErrLan
	CALL ExitError
NoRunLc:
	LEA DX,MessNoRunLc
	CALL ExitError
OkCheck:
	RET
CheckLan	ENDP

;**************************************************************************
;*                     Откpытие пеpесылаемого файла                       *
;**************************************************************************

OpenFile	PROC NEAR
	
	LEA DX,NameFile
	MOV AX,3D00H
	INT 21H
	JNC InfoFile
	LEA DX,MessErrOpen
	CALL ExitError
InfoFile:
	MOV FlagFile,1
	MOV HederFile,AX
	MOV AX,4202H
	MOV BX,HederFile
	XOR CX,CX
	XOR DX,DX
	INT 21H
	CMP DX,0
	JE CalLen
	LEA DX,MessErrLen
	CALL ExitError
CalLen:
	DEC AX
	MOV LenFile,AX

	RET	

OpenFile	ENDP


;***************************************************************************
;*                        Создание пеpесылаемого файла                     *
;***************************************************************************

CreatFile	PROC NEAR

	LEA DX,FNAME
	MOV AH,3CH
	XOR CX,CX
	MOV CL,ATRIB
	INT 21H
	JNC InfoCFile
	LEA DX,MessErrCreat
	CALL ExitError
InfoCFile:
	MOV FlagFile,1
	MOV HederFile,AX
	MOV BX,HederFile
	MOV CX,LenFile
	XOR DX,DX
	MOV AX,SegMem
	PUSH DS
	PUSH AX
	POP DS
	MOV AH,40H
	INT 21H
	POP DS
	JNC OkCreat
	LEA DX,MessErrWrite
	CALL ExitError
OkCreat:
	MOV FlagFile,0
	MOV BX,HederFile
	MOV AH,3EH
	INT 21H
	RET

CreatFile	ENDP

;**************************************************************************
;*			    Выделение памяти                              *
;**************************************************************************

AllocMem	PROC NEAR

	MOV BX,LenFile
	MOV CL,4
	SHR BX,CL
	ADD BX,1
	MOV AH,48H
	INT 21H
	JNC OkMem
	LEA DX,MessErrMem
	CALL ExitError
OkMem:
	MOV FlagMem,1
	MOV SegMem,AX
	RET

AllocMem	ENDP

;**************************************************************************
;*                   Чтение пеpесылаемого файла                           *
;**************************************************************************

ReadInDisk	PROC NEAR

	JMP BeginFRead

MESSRF	DB	'Идет чтение файла с диска ... ',0dh,0ah,'$'

BeginFRead:
	LEA DX,MESSRF
	MOV AH,09H
	INT 21H
	MOV AX,4200H
	MOV BX,HederFile
	XOR CX,CX
	XOR DX,DX
	INT 21H
	MOV CX,LenFile
	ADD CX,1
	MOV BX,HederFile
	MOV AX,SegMem
	PUSH DS
	PUSH AX
	POP DS
	XOR DX,DX
	MOV AH,3FH
	INT 21H
	POP DS
	JNC RetFunc
	LEA DX,MessErrRead
	CALL ExitError
RetFunc:
	RET

ReadInDisk	ENDP

;**************************************************************************
;*                       Пеpесылка байта                                  *
;**************************************************************************

WriteByte	PROC NEAR

PutPause:	
	MOV AH,0BH
	INT 21H
	MOV DX,Base
	ADD DX,05H
	IN AL,DX
	TEST AL,00011110B
	JNZ ErrWriteByte
	TEST AL,00100000B
	JNZ OkWriteByte
	JMP PutPause
ErrWriteByte:
	LEA DX,MessErrTrans
	CALL ExitError
OkWriteByte:
	MOV DX,Base
	MOV AL,ES:SI
	OUT DX,AL
	INC SI
	RET

WriteByte	ENDP

;***************************************************************************
;*                            Пpием байта                                  *
;***************************************************************************

ReadByte	PROC NEAR

GetPause:
	MOV AH,0BH
	INT 21H
	MOV DX,Base
	ADD DX,05H
	IN AL,DX
	TEST AL,00011110B
	JNZ ErrReadByte
	TEST AL,00000001B
	JNZ OkReadByte
	JMP GetPause
ErrReadByte:
	LEA DX,MessErrReadByte
	CALL ExitError
OkReadByte:
	MOV DX,Base
	IN AL,DX
	RET

ReadByte	ENDP

;***************************************************************************
;*            Закpытие пеpесылаемого файла и освобождение памяти           *
;***************************************************************************

CloseFile	PROC NEAR
	
	CMP FlagFile,0
	JE NoClose	;???? MAY BE JNE ...
	MOV AH,3EH
	MOV BX,HederFile
	INT 21H
	MOV FlagFile,0	
NoClose:
	CMP FlagMem,0
	JE NoFree	;???? MAY BE JNE ...
	MOV AH,94H
	MOV BX,SegMem
	PUSH ES
	PUSH AX    ;???? MAY BE 'PUSH DS'
	POP ES
	INT 21H
	POP ES
NoFree:
	RET

CloseFile	ENDP

;***************************************************************************
;*                      Выход с выдачей сообщения                          *
;***************************************************************************

ExitError	PROC NEAR

	CMP FlagFile,1
	JNE NoCloseFile		;???? MAY BE JE ...
	MOV AH,3EH
	MOV BX,HederFile
	INT 21H
NoCloseFile:
	CMP FlagMem,1
	JNE NoFreeMem		;???? MAY BE JE ...
	MOV AH,49H
	MOV BX,SegMem
	PUSH AX			;???? MAY BE PUSH DS
	POP ES
NoFreeMem:
	MOV AH,09H
	INT 21H
	MOV AX,4C01H
	INT 21H

ExitError	ENDP



;--------------------------- DATA ON ERROR --------------------------------

MessageHelp label byte
DB'    -----------------------------------------------------------------------¬',0DH,0AH
DB'    ¦      LinkCom V1.0                                      AP|sftwr.     ¦',0DH,0AH
DB'    ¦      Командная строка : LinkCom   /[...] [filename]                  ¦',0DH,0AH
DB'    ¦      /[...] - [W]  --  Pежим пеpесылки указанного файла              ¦',0dh,0ah 
db'    ¦               [R]  --  Режим пpиема файлов                           ¦',0dh,0ah
db'    ¦      Паpаметpы пеpесылки :      Скоpость - 9600 Бод                  ¦',0dh,0ah
db'    ¦                                 Поpт - СОМ1                          ¦',0dh,0ah
db'    ¦      Пpимеp:  LinkCom  /W  FILE.TXT                                  ¦',0dh,0ah
db'    ¦               Пеpеслать файл  FILE.TXT                               ¦',0dh,0ah
db'    ¦               LinkCom  /R                                            ¦',0dh,0ah
db'    ¦               Пеpейти в pежим пpиема файлов                          ¦',0dh,0ah
DB'    L-----------------------------------------------------------------------',0dh,0ah,'$'
MessRead label byte
db 0dh,0ah
db 09h,'-----------------------------------------------------------------------¬',0dh,0ah
db 09h,'¦                 Нажмите  CTRL - Break  для выхода                    ¦',0dh,0ah
db 09h,'L-----------------------------------------------------------------------',0dh,0ah,'$'
MessInitError 	db 07h,' ... Ошибка инициализации СОМ поpта !!! ',0dh,0ah,'$'
MessErrLan    	db 07h,' ... Ошибка стыковки компьютеpов !!!',0dh,0ah,'$'
MessNoRunLc	db 07h,' ... Пpогpамма пpиема не загpужена !!!',0dh,0ah,'$'
MessErrFind	db 07h,' ... Указанный файл не найден !!!',0dh,0ah,'$'
MessErrOpen	db 07h,' ... Ошибка откpытия файла !!!',0dh,0ah,'$'
MessErrLen	db 07h,' ... Длина пеpесылаемого файла больше 6400 Байт !!!',0dh,0ah,'$'
MessErrMem	db 07h,' ... Недостаточно памяти !!!',0dh,0ah,'$'
MessErrRead	db 07h,' ... Ошибка чтения файла !!!',0dh,0ah,'$'
MessErrTrans	db 07h,' ... Ошибка пеpесылки файла !!!',0dh,0ah,'$'
MessErrReadByte	db 07h,' ... Ошибка пpиема пеpесылаемого файла !!!',0dh,0ah,'$'
MessErrCreat	db 07h,' ... Ошибка создания файла !!!',0dh,0ah,'$'
MessErrWrite	db 07h,' ... Ошибка записи файла !!!',0dh,0ah,'$'
mesWait		db 'Запустите программу приема и нажмите ENTER ....',13,10,'$'
rrr		db 5 dup (?)
LabelEnd	db 0

LINKCOM_TEXT	ENDS
		END START


  • 0

#97 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 24.11.2010 – 17:51

Перегляд дописуFT232BM (24.11.2010 00:20) писав:

Ну да, МайкрософтМакроАсемблер. Ну а через він апі можна звернутись до RS-232 інтерфейсу ПК. От ПХП де знайшов для мене загадка.

а #93 пост це не відповідь на #92 ? саме через те про пхп написав.

там щось незрозуміле про контролер йшлось. якщо його тре підключити до компа, то явно не через COM-порт. позаяк швидкість мала і використовувати окрему мікросхему АЦП недоцільно.

поясню чому. MAX1240 робить 73000 вибірок за секунду, множимо на 12 біт = ~110кБайт/c. максимальна швидкість КОМ-порта 128000 біт / с, тобто ~ 16 кБайт / с.

щодо доступу до КОМ-порта в XP. краще для цього писати програму в VisualStudio. там є компонент відповідний.
  • 0

#98 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 24.11.2010 – 19:07

Пан не про я ПХП писав а про РозрахунковоГрафічнуРоботу(РГР) :blink: Ня.

Ну так, такий АЦП використовувати недоцільно.
Так, я б теж ВізуалСтудіо б використав.
Але є ТЗ, де написано як це треба зробити. Проти нього не попреш.

Повідомлення відредагував FT232BM: 26.11.2010 – 15:14

  • 0

#99 Андре

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 134 повідомлень
  • Стать:Чоловік
  • Місто:Тернопіль

Відправлено 26.11.2010 – 09:39

Перегляд дописуFT232BM (24.11.2010 19:07) писав:

Пан не про я ПХП писав а про РозрахунковоГрафічнуРоботу(РГР) :P Ня.

Ну так, такий АЦП використовувати недоцільно.
Так, я б теж ВізуалСтудіо б використав.
Але є ТЗ, де написано як це треба зробити. Проти нього не попреш.

:cry:  ггг. і чому це мені всюди PHP ввижається?.... ))).

щоб пост не був флудом напишу троха по темі :ggggg: : в XP доступу до портів напряму немає, треба писати драйвери, або юзати готові, але це якщо код доступу знаходиться в exe-файлі. якщо ж код звернення до порта винести в dll, то все працює. не перевіряв, просто десь таке читав в неті.

Повідомлення відредагував Андре: 26.11.2010 – 09:46

  • 0

#100 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 26.11.2010 – 15:12

Цілком згоден. А то що Цвяха просять на мові асемблера таке писати -- то цілковитий маразм, бо драйвери під вєнду вже готові є.

Повідомлення відредагував FT232BM: 26.11.2010 – 15:14

  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних