Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Сравнение времени выполнения PIC18 и dsPIC30 (+)

Отправлено atlant 14 марта 2007 г. 15:26


Одна и та же функция IT2().
PIC18 (HI-Tech PICC18 8.35pl3, -Zg9 -O, fast 32-bit float)
dsPIC30 (MPLAB C30, оптимизация 'S')

Так вот, время выполнения 4500 тактов для обоих!
Надеялся, что 16-битник будет по-шустрее, а вот фиг вам.


unsigned int IT2(unsigned int T)
{
#define Rd 4990
#define Rt0 10000
const double _8016[48] = {
Rt0*96.3, Rt0*67.01, Rt0*47.17, Rt0*33.65, Rt0*24.26, Rt0*17.70, Rt0*13.04, Rt0*9.707, Rt0*7.293, Rt0*5.533, Rt0*4.232, Rt0*3.265, Rt0*2.539, Rt0*1.990, Rt0*1.571, Rt0*1.249, Rt0*1.000, Rt0*0.8057, Rt0*0.6531, Rt0*0.5327, Rt0*0.4369, Rt0*0.3603, Rt0*0.2986, Rt0*0.2488, Rt0*0.2063, Rt0*0.1752, Rt0*0.1481, Rt0*0.1258, Rt0*0.1072, Rt0*0.09177, Rt0*0.07885, Rt0*0.06800, Rt0*0.05886, Rt0*0.05112, Rt0*0.04454, Rt0*0.03893, Rt0*0.03417, Rt0*0.03009, Rt0*0.02654, Rt0*0.02348, Rt0*0.02083, Rt0*0.01853, Rt0*0.01653, Rt0*0.01478, Rt0*0.01323, Rt0*0.01183, Rt0*0.01053, Rt0*0.00928 };
char i;
unsigned int R;
double F;

F = (double)Tadc * Rd / (65536 - Tadc);
i = 0;
while ((i <= 41) && (F < _8016[i])) i++;
if (i==0) F = -56;
else
if (i==42) F = 151;
else
F = ((i-1)*5-55) + 5 / (_8016[i]-_8016[i-1]) * (F-_8016[i-1]);

F = F*300+20000;
R = (unsigned int) F;
return R;
}

//вызов функции:
unsigned int DD;

DD = IT2(15000);




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 93:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru