This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我用的是F28069
需要用的内部ADC比较器模块的斜坡发生器
问题是TI提供的文件里面全局变量压根就没定义过ramp
包括它的一些寄存器都是识别不了
我自己也尝试写,可是编译都是错误。。
大神们能帮忙解决一下这个问题吗
最好有相应的程序
搞了好久了~~~~
没有的,F2806x_Comp.h里面只定义了
COMPCTL COMPSTS DACVAL 三个寄存器
而要用RAMP的话
还需要 RAMPMAXREF_SHDW
RAMPDECVAL_SHDW
RAMPSTS 这三个寄存器
头文件中结构体是这么定义的:
struct COMP_REGS {
union COMPCTL_REG COMPCTL; // Comparator Control
Uint16 rsvd1; // Reserved
union COMPSTS_REG COMPSTS; // Compare Output States
Uint16 rsvd2;
union DACCTL_REG DACCTL;
Uint16 rsvd3;
union DACVAL_REG DACVAL;
Uint16 rsvd4;
Uint16 RAMPMAXREF_ACTIVE;
Uint16 rsvd5;
Uint16 RAMPMAXREF_SHDW;
Uint16 rsvd6;
Uint16 RAMPDECVAL_ACTIVE;
Uint16 rsvd7;
Uint16 RAMPDECVAL_SHDW;
Uint16 rsvd8;
Uint16 RAMPSTS;
Uint16 rsvd9[3];
RAMPMAXREF_ACTIVE,RAMPMAXREF_SHDW,RAMPDECVAL_ACTIVE,RAMPDECVAL_SHDW,RAMPSTS这五个寄存器,因为都是数值,而且不再分位,就被直接定义成了Uint16,这和其他寄存器看上去是不同,但这么定义是合理的。举个例子,用的时候就这样:Comp1Regs.RAMPMAXREF_SHDW = 1000
为什么我的是这样的。。。!!!
struct COMP_REGS {
union COMPCTL_REG COMPCTL; // Comparator Control
Uint16 rsvd1; // Reserved
union COMPSTS_REG COMPSTS; // Compare Output States
Uint16 rsvd2[3]; // Reserved
union DACVAL_REG DACVAL; // 10-bit DAC Value
};
是controlSUITE里面的头文件。。。
员工的库和我们的不一样么 。。。。
为什么我这个头文件下的结构体是这样的。。
struct COMP_REGS {
union COMPCTL_REG COMPCTL; // Comparator Control
Uint16 rsvd1; // Reserved
union COMPSTS_REG COMPSTS; // Compare Output States
Uint16 rsvd2[3]; // Reserved
union DACVAL_REG DACVAL; // 10-bit DAC Value
};
我这个是阉割版 T T 是controlSUITE项目下的头文件
你们用的include是哪里的?
噢 谢谢您的回答
原来我导入的是development_kits 下的 F28069 controlSTICK
虽然controlSUITE是最新的,但这个文档下的版本还都是V100的
最后请问一下 我想确定RAMP下降时的斜率,
技术手册说RAMPDECVAL_SHDW寄存器是保存decrement shadow value 的
具体来说这个这个寄存器载入的是什么的值?
比如RAMPMAXREF_SHDW=1000;
我想令斜坡的斜率k=-1 怎么设置RAMPDECVAL_SHDW