打印

关于DSPIC 软件中的函数库的使用

[复制链接]
6750|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冷若寒|  楼主 | 2008-10-1 18:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教个问题:
   我在MCP 的网站上的一个程序上看到这样的语句: 

   PhaseInc = __builtin_divud(512000UL, Period);

   查了一些资料都没有看到解释,还请大家指点。

   16 位语言工具函数库 中没有找到解释。

   我用的是DSPIC 30f2010
沙发
冷若寒|  楼主 | 2008-10-1 21:13 | 只看该作者

没人用过吗?

使用特权

评论回复
板凳
yewuyi| | 2008-10-1 21:47 | 只看该作者

加__一般表示调用汇编代码中的函数或者变量

__builtin_divud(512000UL, Period);

从字面看似乎是个除法函数,加__应该表示的是用汇编写的,然后在C中调用它,可能作者是为了代码速度,所以用汇编写的这个函数,你仔细找找相关的文件中,是否能找到这个函数?

看源代码的include,然后把相关的文件都打开查找看看能否找到。。。

使用特权

评论回复
地板
冷若寒|  楼主 | 2008-10-10 15:57 | 只看该作者

喔,谢谢了

使用特权

评论回复
5
systemchip| | 2008-10-10 20:45 | 只看该作者

:

C30支持的内嵌函数而已,避免了调用数学库函数,编码更简洁,更优化,效率更高。
  C30用户手册中有详细说明....

使用特权

评论回复
6
冷若寒|  楼主 | 2008-10-11 11:00 | 只看该作者

谢谢了

我看了MPLAB® C30 C COMPILER USER’S GUIDE 

16 位语言工具函数库

没有找到比较详细的说明啊?

可能还有其他文档说明。

使用特权

评论回复
7
huanghuanglifu| | 2011-6-1 00:29 | 只看该作者
1# 冷若寒
原文的注释,讲得很直接,认真的在看看下面这句英文吧,相信你会领会得到~祝你成功
   // __builtin_divud(Long Value, Int Value) is a function of the compiler
    // to do Long over Integer divisions.

使用特权

评论回复
8
libinxtdj| | 2011-6-9 14:44 | 只看该作者
用于PIC24 MCU
和dsPIC® DSC 的
MPLAB® C 编译器
用户指南  里面有比较详细的说明

使用特权

评论回复
9
headwolf_83| | 2011-6-10 17:46 | 只看该作者
不在库函数说明里面,是在用户手册里面的。

使用特权

评论回复
10
naxiecn| | 2015-12-16 09:07 | 只看该作者
512000UL是什么格式?什么意思?

使用特权

评论回复
11
山东电子小菜鸟| | 2015-12-16 16:19 | 只看该作者
顶一下楼主

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

137

帖子

1

粉丝