DSPIC30F系列单片机中DSP内核的使用方法

[复制链接]
查看11 | 回复5 | 2010-8-5 17:56:09 | 显示全部楼层 |阅读模式
最近在使用dsPIC30F系列单片机计算东西,需要使用大量的乘法运算,单片机包含了DSP内核,不知道DSP内核怎么用,只在手册上查到几条DSP指令,不知道在C语言下怎么使用?默认编译乘法是使用的单片机指令。
我自己看了,编译后的指令时单片机指令,我主要是算乘法,大量乘法,编译后不是汇编指令!
unsigned int a=23,b=32,c;
c = a*b;
编译时候,C语言编译器会自动讲上述语句用DSP指令编译成汇编语句。
这个编译后默认是单片机指令,不是DSP指令!

回复

使用道具 举报

千问 | 2010-8-5 17:56:09 | 显示全部楼层
C语言编译器自动给调用DPS指令,用C来写程序的话直接用普通的C语言运算符即可。不需要关注其他的。汇编下有专用的DSP指令,因为汇编是面向机器的语言。而C语言则是面向过程面向算法的语言,编程者不需要关注底层指令如何运算。如23×32,则是 unsigned int a=23,b=32,c; c = a*b;编译时候,C语言编译器会自动讲上述语句用DSP指令编译成汇编语句。 而对于快速傅里叶变换直流的操作,C语言并没有对应的操作指令,可以调用函数库里的DSP函数。你可以到Microchip网站找“16-Bit Language Tools Libraries”的参考手册。顺便看一下“16-bit MCU and DSC P
回复

使用道具 举报

千问 | 2010-8-5 17:56:09 | 显示全部楼层
参考《dsPIC30/33程序员参考手册》--------------------------------------------------------------------------------------------------------------------使用嵌入汇编:unsigned int x=5000;unsigned
回复

使用道具 举报

千问 | 2010-8-5 17:56:09 | 显示全部楼层
我在是使用dsPIC30F5011,正在开发CAN接口。DSP内核还没涉及到。是不是只要进行浮点数的运算,就会自动转到DSP内核来运算。
回复

使用道具 举报

千问 | 2010-8-5 17:56:09 | 显示全部楼层
建议你到 soiseek 去看看
回复

使用道具 举报

千问 | 2010-8-5 17:56:09 | 显示全部楼层
抽象的东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行