Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-сен-25 14:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: плавающая арифметика в 1986BE9x
СообщениеДобавлено: 2016-фев-15 19:40 
Не в сети

Зарегистрирован: 2015-июл-16 15:20
Сообщения: 9
Доброго времени суток!
Проблемы с использованием плавающей арифметики на 1986BE9x под Кейл 5 (настройки опций target и компилятора прикладываю).
Установлен Milandr.MDR1986BExx.1.4.0.pack , запускаю на отладочной плате 1986BE9x, результаты смотрю в отладчике.

1.Не проходят след. тесты передачи параметров в функцию и возврата ее значения:

void foo_pass_float_parm(float r){
float rr;
rr = r; // не принимает
}

float foo_convert(float r){
float a;
a = 1.21;
return(a);
} // значение не возвращается

2. Вычисления вида
float a ;
a = 1.23;
b = 2.;
c = a * b;
работают

3. Не получается получить значение от встроенных функций math-функций :
float x = 4.0;
float y;
y = sqrt(x); // результат 0

Что нужно настроить, чтобы 1) и 3) заработали?


Вложения:
Комментарий к файлу: опции компилятора
project_cc_options_keil5.PNG
project_cc_options_keil5.PNG [ 18.7 КБ | Просмотров: 1031 ]
Комментарий к файлу: опции target
project_target_options_keil5.PNG
project_target_options_keil5.PNG [ 21.56 КБ | Просмотров: 1031 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плавающая арифметика в 1986BE9x
СообщениеДобавлено: 2016-фев-16 08:43 
Не в сети

Зарегистрирован: 2015-июл-16 15:20
Сообщения: 9
1. Попробовал все отладочные фукции поместить в один файл - работает, в отдельном - нет (проект прикладываю)
3. Для использования стандартных библитечных - как всегда необходим #include <math.h>


Вложения:
Комментарий к файлу: проект с тестами
test_float.rar [19.61 КБ]
Скачиваний: 48
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плавающая арифметика в 1986BE9x
СообщениеДобавлено: 2016-фев-16 08:52 
Не в сети

Зарегистрирован: 2015-июл-16 15:20
Сообщения: 9
вопрос снят:

нужно делать строго , как в С.
В файле main.c необходимо иметь объявления прототипов вызываемых фукций

void foo_pass_float_parm(float r);
float foo_convert1(float r);
void foo_convert2(float r, float *result);

все работает.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB