44 PRINT(
"Тестрование FPU");
46 PRINT(
" Операция: 0");
47 result[0] =
FPU_SUB(155.625, 1.5);
48 if (result[0] != 154.125)
50 PRINT(
" ОШИБКА: Операция вычитания неуспешна");
56 PRINT(
" Операция: 1");
61 PRINT(
" ОШИБКА: Операция вычитания неуспешна");
67 PRINT(
" Операция: 2");
69 result[2] =
FPU_ADD(1.5, 155.625);
70 if (result[2] != 157.125)
72 PRINT(
" ОШИБКА: Операция сложения неуспешна");
78 PRINT(
" Операция: 3");
79 result[3] =
FPU_ADD(155.625, 1.5);
80 if (result[3] != 157.125)
82 PRINT(
" ОШИБКА: Операция сложения неуспешна");
88 PRINT(
" Операция: 4");
89 result[4] =
FPU_ADD(155.625, -1.5);
90 if (result[4] != 154.125)
92 PRINT(
" ОШИБКА: Операция сложения неуспешна");
98 PRINT(
" Операция: 5");
99 result[5] =
FPU_ADD(-155.625, 1.5);
100 if (result[5] != -154.125)
102 PRINT(
" ОШИБКА: Операция сложения неуспешна");
108 PRINT(
" Операция: 6");
109 result[6] =
FPU_MUL(155.625, 1.5);
110 if (result[6] != 233.4375)
112 PRINT(
" ОШИБКА: Операция умножения неуспешна");
118 PRINT(
" Операция: 7");
119 result[7] =
FPU_MUL(1.5, 155.625);
120 if (result[7] != 233.4375)
122 PRINT(
" ОШИБКА: Операция умножения неуспешна");
128 PRINT(
" Операция: 8");
129 result[8] =
FPU_MUL(155.625, -1.5);
130 if (result[8] != -233.4375)
132 PRINT(
" ОШИБКА: Операция умножения неуспешна");
138 PRINT(
" Операция: 9");
139 result[9] =
FPU_MUL(-155.625, 1.5);
140 if (result[9] != -233.4375)
142 PRINT(
" ОШИБКА: Операция умножения неуспешна");
148 PRINT(
" Операция: 10 - Синус");
150 if (result[10] != (
float)4.79425549E-1)
152 PRINT(
" ОШИБКА: Операция синус неуспешна");
158 PRINT(
" Операция: 11 - Косинус");
160 if (result[11] != (
float)8.7758255E-1)
162 PRINT(
" ОШИБКА: Операция Косинус неуспешна");
168 PRINT(
" Операция: 12 - Квадратный корень");
170 if (result[12] != (
float)10)
172 PRINT(
" ОШИБКА: Операция Квадратный корень неуспешна");
179 PRINT(
" Операция: 13 - Возведение в квадрат");
181 if (result[13] != (
float)100)
183 PRINT(
" ОШИБКА: Операция Возведение в квадрат неуспешна");
190 PRINT(
" Операция: 14 - Возведение в куб");
192 if (result[14] != (
float)1000)
194 PRINT(
" ОШИБКА: Операция Возведение в куб неуспешна");
202 PRINT(
" Операция: 15 - Тангенс");
204 if (result[15] != (
float)5.4630249733E-1)
206 PRINT(
" ОШИБКА: Операция Тангенс неуспешна");
212 PRINT(
" Операция: 16 - Арктангенс");
214 if (result[16] != (
float)4.63647604E-1)
216 PRINT(
" ОШИБКА: Операция Аркангенс неуспешна");
222 PRINT(
" Операция: 17 - АркСинус");
224 if (result[17] != (
float)5.2359879011E-1)
226 PRINT(
" ОШИБКА: Операция АркСинус неуспешна");
232 PRINT(
" Операция: 18 - АркКосинус");
234 if (result[18] != (
float)1.04719758)
236 PRINT(
" ОШИБКА: Операция АркКосинус неуспешна");
243 PRINT(
"Тест FPU успешно завершен");
#define PRINT(...)
Макросы для использования отладочного выхода
float FPU_atg(float A)
вычисление арктангенса
void FPU_Init(void)
Инициализация блока FPU.
Этот файл содержит структуры, макросы и функции необходимые необходимые для тестовой программы для ап...
float FPU_pow2(float A)
Возведение в квадрат при помощи блока FPU.
float FPU_ASIN(float A)
вычисление арксинуса
float FPU_SIN(float A)
вычисление синуса
void FPU_DeInit(void)
Сброс блока FPU.
float FPU_COS(float A)
вычисление косинуса
bool FPU_Test()
Тестирование модуля FPU.
float FPU_pow3(float A)
Возведение в куб при помощи блока FPU.
float FPU_tg(float A)
вычисление тангенса
float FPU_sqrt(float A)
Вычисление квадратного корня при помощи блока FPU.
float FPU_ADD(float A, float B)
Сложение двух чисел при помощи блока FPU.
float FPU_MUL(float A, float B)
умножение двух чисел при помощи блока FPU.
void DBG_TX_Flush(void)
Вывод всех данных, накопленных в кольцевом буфере, в отладочный UART.
float FPU_ACOS(float A)
вычисление арккосинуса
float FPU_SUB(float A, float B)
Вычитание двух чисел при помощи блока FPU.