Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
fpu.h
См. документацию.
1 
29 #ifndef FPU_H_
30 #define FPU_H_
31 
32 #include "types.h"
33 #include <stdio.h>
34 #include <math.h>
35 
39 typedef struct
40 {
41  __RW uint32_t ADD_SUB;
42  __RW float ADD_A;
43  __RW float ADD_B;
44  __RW float MUL_A;
45  __RW float MUL_B;
46  __WO uint32_t CONTROL;
47  __RO float ADD_OUT;
48  __RO float MUL_OUT;
49 }FPU_T;
50 
54 #define FPU_ADD_SUB_SUB_EN ((uint32_t)(0 << 0))
55 #define FPU_ADD_SUB_ADD_EN ((uint32_t)(1 << 0))
60 #define FPU_CONTROL_ADD_EN ((uint32_t)(1 << 0))
61 #define FPU_CONTROL_MUL_EN ((uint32_t)(1 << 1))
67 void FPU_DeInit(void);
68 
73 void FPU_Init(void);
74 
81 float FPU_ADD(float A, float B);
82 
89 float FPU_SUB(float A, float B);
90 
97 float FPU_MUL(float A, float B);
98 
102 static int factorial (int n)
103 {
104  return (n < 2) ? 1 : n * factorial (n - 1);
105 }
106 
114 float FPU_SIN(float A);
115 
123 float FPU_ASIN(float A);
124 
132 float FPU_ACOS(float A);
133 
141 float FPU_COS(float A);
142 
149 float FPU_sqrt(float A);
150 
156 float FPU_pow2(float A);
157 
163 float FPU_pow3(float A);
164 
172 float FPU_tg(float A);
173 
181 float FPU_atg(float A);
182 
183 
184 
185 #endif /* FPU_H */
Этот файл содержит структуры, макросы и функции необходимые для работы с дополнительными типами...
#define __RW
Definition: types.h:39
static int factorial(int n)
Факториал
Definition: fpu.h:102
float FPU_atg(float A)
вычисление арктангенса
Definition: fpu.c:212
__RW float ADD_B
Definition: fpu.h:43
#define __RO
Definition: types.h:37
__RO float MUL_OUT
Definition: fpu.h:48
void FPU_Init(void)
Инициализация блока FPU.
Definition: fpu.c:51
Структура для доступа к регистрам FPU.
Definition: fpu.h:39
#define __WO
Definition: types.h:38
float FPU_pow2(float A)
Возведение в квадрат при помощи блока FPU.
Definition: fpu.c:166
float FPU_ASIN(float A)
вычисление арксинуса
Definition: fpu.c:236
__WO uint32_t CONTROL
Definition: fpu.h:46
float FPU_SIN(float A)
вычисление синуса
Definition: fpu.c:110
__RW float ADD_A
Definition: fpu.h:42
float FPU_COS(float A)
вычисление косинуса
Definition: fpu.c:134
float FPU_pow3(float A)
Возведение в куб при помощи блока FPU.
Definition: fpu.c:176
float FPU_tg(float A)
вычисление тангенса
Definition: fpu.c:188
__RO float ADD_OUT
Definition: fpu.h:47
float FPU_sqrt(float A)
Вычисление квадратного корня при помощи блока FPU.
Definition: fpu.c:156
float FPU_ADD(float A, float B)
Сложение двух чисел при помощи блока FPU.
Definition: fpu.c:65
__RW float MUL_B
Definition: fpu.h:45
__RW float MUL_A
Definition: fpu.h:44
float FPU_MUL(float A, float B)
умножение двух чисел при помощи блока FPU.
Definition: fpu.c:95
__RW uint32_t ADD_SUB
Definition: fpu.h:41
float FPU_ACOS(float A)
вычисление арккосинуса
Definition: fpu.c:260
float FPU_SUB(float A, float B)
Вычитание двух чисел при помощи блока FPU.
Definition: fpu.c:80