请问如何查看DSP的寄存器的详细介绍
比如说着个PWM程序
EvaRegs.T1CON.bit.TMODE=2; //连续增模式
EvaRegs.T1CON.bit.TPS=1; //T1CLK=HSPCLK/2=37.5M
EvaRegs.T1CON.bit.TENABLE=0; //暂时禁止T1计数
EvaRegs.T1CON.bit.TCLKS10=0; //使用内部时钟,T1CLK
EvaRegs.T1CON.bit.TECMPR=1; //使能定时器比较操作
EvaRegs.T1PR=0x927B; //1KHz的PWM,周期为1ms
EvaRegs.T1CMPR=0x3A98; //占空比为40%,低电平有效
EvaRegs.T1CNT=0;
EvaRegs.T1CON.bit.TMODE=2; //这里置2是连续增模式,但其他模式分别是什么 从哪里可以看到?
EvaRegs.T1PR=0x927B; //1KHz的PWM,周期为1ms又是怎么通过0x927B计算出来的,相关公式怎么查?
新人实在不了解,教材上面有的寄存器有介绍 有的并没有《tms320f28335-28332-28334官方中文手册》也只是给出了寄存器的地址,并没有说明这种函数 EvaRegs.T1CON.bit.TMODE=2;具体的介绍,是不是我看的方法不对啊?
求高手老司机带带我。
官方下载datasheet 有的
这种芯片官网肯定都可以找到对应的手册说明寄存器的。如果你没有看到你说的这个寄存器,可以查看代码定义的此寄存器地址,根据地址对应找寄存器说明也是一种方法。
下载一个C2000助手,完美解决
struct 位域名
{类型说明符 位域名 位域长度}
例:
struct bs
{int a:8;int b:2;int c:6;}data;注意这里的分号,否则报错。
说明data为bs变量,共占两个字节。其中位域a占8位,位域b占2位,位域c占6位。
注意:1、位域不可横跨2个字节
2、位域长度不小于8;
3、位域可以无域名,这时候只是起到填充调整的作用。
实例:
struct SCICCR-BITS
{
Uint16 SCICCHAR:3;字符长度控制位
Uint16 ADDRIDLEMODE:1;
......
Uint16 STOPbits:1;
Uint16 rsvd1:8;高八位地址是保留的,防止地址错位。rasvd1是固定用法。
}
学习了
小编如果想查看DSP某一具体型号寄存器的具体内容,是需要看用户手册的。这里我以TMS320F28035为例给小编说明一下。
可以先在TI官网www.ti.com下载名为"TMS320x2803x Piccolo System Control and Interrupt Reference Guide"的用户手册。
TI给每个模块都提供了一个用户手册,而且对应模块的用户手册也将这个模块的工作原理和使用方法都写到了。小编在一个用户手册里面是找不到其他模块的寄存器的,只有下载对应模块的用户手册,才能看到相应模块寄存器的定义。最后一张图我给小编看的是TMS320F28035芯片的ePWM模块的寄存器。
下载步骤如下图:
大侠回答得很棒,不过,我还是想吐槽TI一下:真的是要一个一个模块地下啊。