[an error occurred while processing this directive] [an error occurred while processing this directive]
Keil и Raisonanse (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Absconder 27 января 2002 г. 22:48

Набил для теста программку:

/********************************************************************************/
// XTAL = 11.0592 mHz Отимизация примерно одинаковая (Small, Speed - Level 7)

#include
#include "S8252.h"

#define PI 3.1415927
#define KRad 1.745329E-2

unsigned int azimut_begin_tick,
azimut_end_tick,
naklon_begin_tick,
naklon_end_tick,
dlina_begin_tick,
dlina_end_tick;

float azimut_begin_grad,
azimut_end_grad,
naklon_begin_grad,
naklon_end_grad,
dlina_begin_m,
dlina_end_m;

float azimut_tick_na_grad,
naklon_tick_na_grad,
dlina_tick_na_m;

unsigned int L_tick,
a_tick,
b_tick;

float L_m,
R_m,
H_m,
a_grad,
a_rad,
b_grad,
b_rad;

void main(void)
{
for(;;) {

azimut_begin_tick=921;
azimut_end_tick=3341;
naklon_begin_tick=561;
naklon_end_tick=1746;
dlina_begin_tick=926;
dlina_end_tick=2711;
azimut_begin_grad=60;
azimut_end_grad=240;
naklon_begin_grad=7.5;
naklon_end_grad=72.5;
dlina_begin_m=9.7;
dlina_end_m=16.5;
azimut_tick_na_grad=(azimut_end_tick-azimut_begin_tick)/(azimut_end_grad-azimut_begin_grad);
naklon_tick_na_grad=(naklon_end_tick-naklon_begin_tick)/(naklon_end_grad-naklon_begin_grad);
dlina_tick_na_m=(dlina_end_tick-dlina_begin_tick)/(dlina_end_m-dlina_begin_m);

L_tick=1818;
L_m=dlina_begin_m+((L_tick-dlina_begin_tick)/dlina_tick_na_m);
a_tick=1153;
a_grad=naklon_begin_grad+((a_tick-naklon_begin_tick)/naklon_tick_na_grad);
a_rad=a_grad*KRad;
H_m=L_m*sin(a_rad);
R_m=L_m*cos(a_rad);
}
}
/********************************************************************************/

Raisonanse(BN724):
------------------
//T=0.0144305 sec
//MODULE INFORMATION: STATIC OVERLAYABLE
// CODE SIZE = 497 ----
// CONSTANT SIZE = ---- ----
// XDATA SIZE = ---- ----
// PDATA SIZE = ---- ----
// DATA SIZE = 82 ----
// IDATA SIZE = ---- ----
// BIT SIZE = ---- ----
//END OF MODULE INFORMATION.

Keil(6.2x):
-----------
//T=0.0145934 sec
// MODULE INFORMATION: STATIC OVERLAYABLE
// CODE SIZE = 476 ----
// CONSTANT SIZE = ---- ----
// XDATA SIZE = ---- ----
// PDATA SIZE = ---- ----
// DATA SIZE = 82 ----
// IDATA SIZE = ---- ----
// BIT SIZE = ---- ----
// END OF MODULE INFORMATION.

******************************************************
Видно, что 'Keil' немного уступает по скорости, но
последняя версия расставляет все по старым местам ...
******************************************************

Keil(6.22):
-----------
//T=0.01360702 sec
//MODULE INFORMATION: STATIC OVERLAYABLE
// CODE SIZE = 466 ----
// CONSTANT SIZE = ---- ----
// XDATA SIZE = ---- ----
// PDATA SIZE = ---- ----
// DATA SIZE = 82 ----
// IDATA SIZE = ---- ----
// BIT SIZE = ---- ----
//END OF MODULE INFORMATION.

Кстати, была замечена странная "сверхприемственность" у 'Raisonanse':
довольно сложные пректы для Keila без какой-либо переработки воспринимаются
RIDE ... (переманивают пользователей однако :-)

Извиняюсь, если, что 'напорол' ... Мякина знаете ли ...

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru