dsp综合实验:串口通信与io指示灯显示结合或输出pwm矩形波形

dsp综合实验:串口通信与io指示灯显示结合或输出pwm矩形波形,第1张

我简单说下吧

如果你使用的是TIC2000系列dsp,下述可作为参考

为了产生一个PWM信号,DSP的定时器定时周期应该和PWM的周期相等。另外需要对DSP的EVA/EVB模块中的比较单元的比较寄存器设定数值,这样该数值一直与定时器的计数器值相比较,按照一定的比较方式,PWM即产生跳变。通过此种方式,DSP的PWM管脚就会产生一个宽度与比较寄存器数值成比例的脉冲信号。在定时器重复定时的过程中就产生了PWM信号。

使用DSP比较单元产生PWM波形不需要硬件连接图,只需对DPS的相关寄存器进行配置就可以在输出端得到相应的PWM波形,其具体 *** 作过程如下:

1设置比较方式控制寄存器ACTRx

2如有必要,使能死区功能,配置死区控制寄存器DBTCONx

3对比较寄存器CMPRx赋值

4设置定时器寄存器T1CON(T3CON)并启动定时

5通过更新CMPRx的数值改变PWM占空比的大小

对于我所熟悉的2407 DSP 程序如下:

PWMINIT

LDP #0E1H

SPLK #0AH,MCRC;PWM7,9

SPLK #0140H,MCRA;PWM1,3

LDP #0E8H

SPLK #0,CMPR1

SPLK #0,CMPR2

SPLK #0H,ACTRA;

SPLK #0H,DBTCONA

SPLK #0A600H,COMCONA

SPLK #2000,T1PR

SPLK #0,T1CNT

SPLK #0H,GPTCONA;

SPLK #80H,EVAIMRA

SPLK #0FFFFH,EVAIFRA

SPLK #0FFFFH,EVAIFRB

SPLK #0FFFFH,EVAIFRC

LDP #0EAH

SPLK #0H,ACTRB;

SPLK #0H,DBTCONB

SPLK #0,CMPR4

SPLK #0,CMPR5

SPLK #2000,T3PR

SPLK #0A600H,COMCONB

SPLK #0,T3CNT

SPLK #0FFFFH,EVBIFRA

SPLK #0FFFFH,EVBIFRB

SPLK #0FFFFH,EVBIFRC

RET

该段程序使用2407两个事件管理器模块的4个PWM输出引脚pwm1 pwm3 pwm7 pwm9进行pwm输出,定时器周期为2000,只要你将写入CMPR的数值改变 就可以得到不同占空比的PWM波形,不妨试一试,前提是DSP可以正常工作

有些处理器可以通过置位发送完标志 来进入发送中断服务程序。

由于发送缓冲区可能变空也可能随时被填入内容,这样的程序要能实际使用必须很仔细处理,

所以在写不带 *** 作系统的luo奔程序时,很多老码农都是发送不用中断,接收才用。

4#

单片机先和pc通过串口通信,收到串口发过来的数后把数通过hpi口发送给dsp就行了。。。dsp要想往pc发数据的话,就先通过hpi口发给单片机,单片机再发给pc不就行了吗

你的DSP程序是运行后就发送数据的吗?

根据你的描述,现在的DSP程序是收到数据后才有应答。你想DSP先发送的话,可以在main函数开始后,主循环开始前发送一次数据;然后就根据PC的命令进行其他数据传输。

以上就是关于dsp综合实验:串口通信与io指示灯显示结合或输出pwm矩形波形全部的内容,包括:dsp综合实验:串口通信与io指示灯显示结合或输出pwm矩形波形、单片机、DSP串口通信的第一次触发发送中断的问题、关于DSP串口通信等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9272381.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存