В настоящее время мы не планируем проводить сертификацию своего оборудования во всевозможных компетентных организациях. Но мы проводим собственную сертификацию, результаты которой и приводятся на этой странице.
Тестирование производилось при помощи следующей программы:
#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.