В настоящее время мы не планируем проводить сертификацию своего оборудования во всевозможных компетентных организациях. Но мы проводим собственную сертификацию, результаты которой и приводятся на этой странице.
Тестирование производилось при помощи следующей программы:
#include <bios.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define COM1 0
#define DATA_READY 0x100
#define SEND_OK 0x6000
#define TRUE 1
#define FALSE 0
#define SETTINGS (_COM_9600 | _COM_CHR8 | _COM_STOP1 | _COM_NOPARITY)
int main(int ArgC, char * ArgV[])
{
unsigned out, status, commnum, cycles;
unsigned int failt;
if( ArgC < 4 ){
printf("Pass COM port number as first argument (COM1=0, COM2=1...)\n");
return 0;
};
commnum = atoi(ArgV[1]);
printf("Working with COM%i, 9600 8N1\n",(commnum+COM1+1));
cycles = atoi(ArgV[2]);
printf("Cycles:%i\n",(cycles));
printf("Command:'%s'\n",ArgV[3]);
_bios_serialcom(_COM_INIT, COM1 + commnum, SETTINGS);
_bios_serialcom(_COM_SEND, COM1 + commnum, 0x1B); // Clear Buffer
time_t start = time(NULL);
for (;cycles;cycles--){
char *chr = ArgV[3];
while( *chr ){
_bios_serialcom(_COM_SEND, COM1 + commnum, *chr ); // Send Char
chr++;
};
_bios_serialcom(_COM_SEND, COM1 + commnum, 0x0D ); // 0x0D
out = 0xFF;
failt = 60000;
while( out != 0x0D ){
status = _bios_serialcom(_COM_STATUS, COM1 + commnum, 0);
if (status & DATA_READY){
out = _bios_serialcom(_COM_RECEIVE, COM1 + commnum, 0);
printf("%c", (out & 0xFF));
//if( out == 0x0D ){
// printf("\n");
//};
};
if( ! failt-- ){
printf("ERROR\n");
};
};
}
printf("Time:%li\n",(time(NULL) - start));
return 0;
}
Тесты пройдены без ошибок. Следует отметить, что программа тестирования нормально работает только в "чистом" MS DOS. При попытках ее запустить в виде "Сеанса MS DOS" в операционной системе Windows, наблюдается некоторое ухудшение результатов (часть ответов от PowerAnt приходит не полностью), особенно если параллельно работает еще одна достаточно ресурсоемкая задача. Это связано с самой идеологией "чистой" DOS программы, что описано и в документации на bios.h, поставляемой вместе с компилятором.
Тестирование производилось при помощи следующего сценария для MS DOS:
PWRANT_1.EXE 1 3600 "?%%" >3600_1.txt PWRANT_1.EXE 1 3600 "?=" >3600_2.txt PWRANT_1.EXE 1 3600 "??" >3600_3.txt PWRANT_1.EXE 1 3600 "=A" >3600_4.txt PWRANT_1.EXE 1 3600 "=AbCdEfGh" >3600_5.txt
PowerAnt - тип SwSe - COM2, 9600 8N1
| Команда | Передано + принято байт за цикл | Число циклов | Передано + принято байт | Время выполнения теста (сек) | Скорость (байт/сек) | Практически (циклов/сек) | Теоретически (циклов/сек) | Циклы % |
|---|---|---|---|---|---|---|---|---|
| ?%<CR> +%<CR> | 6 | 3600 | 21600 | 27 | 800 | 133,33 | 160 | 80,36% |
| ?=<CR> +=ABCDEFGHIJKLMN<CR> | 20 | 3600 | 72000 | 92 | 782,61 | 39,13 | 48 | 80,65% |
| ??<CR> +? PowerAnt v2_8c SWSE<CR> | 26 | 3600 | 93600 | 122 | 767,21 | 29,51 | 36,92 | 79,27% |
| =A<CR> +=<CR> | 6 | 3600 | 21600 | 26 | 830,77 | 138,46 | 160 | 83,33% |
| =abcdefgh<CR> +=<CR> | 13 | 3600 | 46800 | 55 | 850,91 | 65,45 | 73,85 | 87,05% |
Тесты пройдены без ошибок со стороны PowerAnt.