找回密码
 注册
关于网站域名变更的通知
查看: 497|回复: 3
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-10-18 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近在使用DSPIC30F系列单片机计算东西,需要使用大量的乘法运算,单片机包含了DSP内核,不知道DSP内核怎么用,只在手册上查到几条DSP指令,不知道在C语言下怎么使用?默认编译乘法是使用的单片机指令。) w- k2 g6 J) j0 N' p
( k$ Q" f& b. T$ C! R6 O
我自己看了,编译后的指令时单片机指令,我主要是算乘法,大量乘法,编译后不是汇编指令!
: K$ U9 A  H/ d2 g- _1 H3 ?& d7 D5 h  A# D  K
unsigned int a=23,b=32,c;  7 S/ |* x! a0 L
c = a*b;% {( i8 o. L6 [5 v8 ^. c0 V
编译时候,C语言编译器会自动讲上述语句用DSP指令编译成汇编语句。
5 \- X/ M' X% O' ^# L: u6 }4 O( l: U' |' I  z% q
这个编译后默认是单片机指令,不是DSP指令!

3 K4 w& u/ `- ^9 ^

该用户从未签到

推荐
发表于 2021-10-18 11:03 | 只看该作者
C语言编译器自动给调用DPS指令,用C来写程序的话直接用普通的C语言运算符即可。不需要关注其他的。/ }2 |) t+ b! H% T% V
汇编下有专用的DSP指令,因为汇编是面向机器的语言。而C语言则是面向过程面向算法的语言,编程者不需要关注底层指令如何运算。
5 E) \4 b3 P$ v/ H. Z3 }  d  W如23×32,则是) m' W" g& k5 t3 n: U, h7 e
unsigned int a=23,b=32,c;  / b& Y# K, i6 T5 p+ g2 P, i
c = a*b;1 @! b- H( i9 C. n3 \
编译时候,C语言编译器会自动讲上述语句用DSP指令编译成汇编语句。
% }8 d: t% _( c" [1 [! r. |" k  h
3 U# G3 ]9 Y' @: @- I# d2 E

该用户从未签到

3#
发表于 2021-10-18 11:23 | 只看该作者
原来用过,就是支持一些dsp指令的pic单片机,在一些对数字信号处理速度要求较高的场合会使用,比如某些高档变频器、编解码、数字滤波器等
5 N  `. i/ g) _# T: M8 S2 ]8 m- h2 ]

该用户从未签到

4#
发表于 2021-10-18 13:14 | 只看该作者
我在是使用dsPIC30F5011,正在开发CAN接口。DSP内核还没涉及到。1 M3 @4 X! S; T% a6 R% `

2 n' _2 o" \: Y% t) J2 }& G2 j' v) @是不是只要进行浮点数的运算,就会自动转到DSP内核来运算。

+ ?. a0 ^6 M+ |) V2 e
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 01:17 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表