飞捷 发表于 2024-1-11 08:36:20

从ISP软件下载下来的MUD32数学库是.LIB格式,请问如何使用?

从ISP软件下载下来的MUD32数学库是.LIB格式,请问如何使用?
如图STC32_MDU32_LARGE_V1.1.LIB

解压缩也没用,不知是什么文件,如何导入KEIL?

乘风飞扬 发表于 2024-1-11 18:23:37

参考STC32G实验箱例程包:46-MDU32–乘法和除法单元
下载地址:https://www.stcai.com/syx

LARGE指的是"Code Rom Size"模式:

asxs 发表于 2024-1-11 18:31:59

在你的应用程序工程中,添加LIB库文件。右键单击工程,选择 "Options for Target",然后在 "Libraries" 选项卡中添加LIB库文件
可以参考芯片手册的第34章 32 位硬件乘除单元(MDU32)

飞捷 发表于 2024-1-12 09:06:34

请问volatile unsigned long int near uint1 ,uint2,xuint;
volatile long int sint1 ,sint2 xintt;
这两句是什么意思?

是不是只要添加了硬件乘除库,平时所用的乘除都自动使用硬件单元计算,不用一定要uint1uint2?

飞捷 发表于 2024-1-12 09:07:06

asxs 发表于 2024-1-11 18:31
在你的应用程序工程中,添加LIB库文件。右键单击工程,选择 "Options for Target",然后在 "Libraries" 选 ...

请问volatile unsigned long int near uint1 ,uint2,xuint;
volatile long int sint1 ,sint2 xintt;
这两句是什么意思?

是不是只要添加了硬件乘除库,平时所用的乘除都自动使用硬件单元计算,不用一定要uint1uint2?

乘风飞扬 发表于 2024-1-12 10:02:30

飞捷 发表于 2024-1-12 09:07
请问volatile unsigned long int near uint1 ,uint2,xuint;
volatile long int sint1 ,sint2 xintt;
这两 ...

添加了硬件乘除库,只要满足MDU32数据类型的乘除都会自动使用硬件单元计算,不用一定要uint1uint2。
unsigned long int / long int 是C251特定数据类型,相当于 unsigned long / signed long
在编译器里面按 F1 调出帮助文档,就可以搜索关键字,了解它们的用途:


飞捷 发表于 2024-1-12 10:59:20

乘风飞扬 发表于 2024-1-12 10:02
添加了硬件乘除库,只要满足MDU32数据类型的乘除都会自动使用硬件单元计算,不用一定要uint1uint2。
un ...

感谢{:4_196:}

飞捷 发表于 2024-1-13 08:43:50

乘风飞扬 发表于 2024-1-12 10:02
添加了硬件乘除库,只要满足MDU32数据类型的乘除都会自动使用硬件单元计算,不用一定要uint1uint2。
un ...

添加了硬件乘除库,只要满足MDU32数据类型的乘除都会自动使用硬件单元计算,不用一定要uint1uint2。
请问如何是i=(a*b/c+a*a*b*c);请问这样也能自动使用硬件单元计算吗?

乘风飞扬 发表于 2024-1-13 12:39:15

飞捷 发表于 2024-1-13 08:43
添加了硬件乘除库,只要满足MDU32数据类型的乘除都会自动使用硬件单元计算,不用一定要uint1uint2。
请 ...

可以的,只要是符合要求的数据类型计算,编译器会自动调用硬件数学库里面的函数进行计算的。

飞捷 发表于 2024-1-14 00:18:41

乘风飞扬 发表于 2024-1-13 12:39
可以的,只要是符合要求的数据类型计算,编译器会自动调用硬件数学库里面的函数进行计算的。 ...

这种库是怎么做的?能不能开源或者用什么软件能打开这库的源代码学习一下
页: [1] 2
查看完整版本: 从ISP软件下载下来的MUD32数学库是.LIB格式,请问如何使用?