工具/软件:Code Composer Studio
你好!
我想使用外部接口功能 来感测交流和直流电压 值,而不是 ADC…
源代码 是否正确?
谢谢!
空 InitXintf (空)
{
//这显示了如何写入 XINTF 寄存器。 。
这里使用的//值是复位后的默认状态。
//不同的硬件需要不同的配置。
//对于与一起使用的 XINTF 配置示例
// F28335 eZdsp、请参考 examples/run_fin_XINTF 项目。
//对 XINTF 时序的任何更改只能由代码进行
//在 XINTF 之外运行。
EALLOW;
SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1;
EDIS;
//所有区域-------------------------------------------------------
//基于 XTIMCLK 的所有区域的时序= 1/2 SYSCLKOUT
EALLOW;
XintfRegs.XINTCNF2.bit.XTIMCLK = 1;
//无写入缓冲
XintfRegs.XINTCNF2.bit.WRBUFF = 0;
// XCLKOUT 被启用
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
// XCLKOUT=XTIMCLK/2
XintfRegs.XINTCNF2.bit.CLKMODE = 1;
//区域0-------------------------------------------------------
//使用就绪时,活动必须为1或更大
//导联必须始终为1或更大
//区域写入时序
XintfRegs.XTIMING0.bit.XWRLEAD=3 ;
XintfRegs.XTIMING0.bit.XWRACTIVE = 7;
XintfRegs.XTIMING0.bit.XWRTRAIL = 3;
//区域读取时序
XintfRegs.XTIMING0.bit.XRDLEAD=3 ;
XintfRegs.XTIMING0.bit.XRDACTIVE = 7;
XintfRegs.XTIMING0.bit.XRDTRAIL = 3;
//双倍全区域读/写前置/主动/后置定时
XintfRegs.XTIMING0.bit.X2TIMING=1 ;
//区域将对 XREADY 信号进行采样
XintfRegs.XTIMING0.bit.USEREADY=1 ;
XintfRegs.XTIMING0.bit.READYMODE = 1; //采样异步
//大小必须为:
// 0、1 = x32或
// 1、1 = x16保留其他值
XintfRegs.XTIMING0.bit.XSIZE = 3;
//第6区-------------------------------------------------------
//使用就绪时,活动必须为1或更大
//导联必须始终为1或更大
//区域写入时序
XintfRegs.XTIMING6.bit.XWRLEAD=3 ;
XintfRegs.XTIMING6.bit.XWRACTIVE = 7;
XintfRegs.XTIMING6.bit.XWRTRAIL = 3;
//区域读取时序
XintfRegs.XTIMING6.bit.XRDLEAD=3 ;
XintfRegs.XTIMING6.bit.XRDACTIVE = 7;
XintfRegs.XTIMING6.bit.XRDTRAIL = 3;
//双倍全区域读/写前置/主动/后置定时
XintfRegs.XTIMING6.bit.X2TIMING=1 ;
//区域将对 XREADY 信号进行采样
XintfRegs.XTIMING6.bit.USEREADY=1 ;
XintfRegs.XTIMING6.bit.READYMODE = 1; //采样异步
//大小必须为:
// 0、1 = x32或
// 1、1 = x16保留其他值
XintfRegs.XTIMING6.bit.XSIZE = 3;
//区域7 ------------------
//使用就绪时,活动必须为1或更大
//导联必须始终为1或更大
//区域写入时序
XintfRegs.XTIMING7.bit.XWRLEAD=3 ;
XintfRegs.XTIMING7.bit.XWRACTIVE = 7;
XintfRegs.XTIMING7.bit.XWRTRAIL = 3;
//区域读取时序
XintfRegs.XTIMING7.bit.XRDLEAD=3 ;
XintfRegs.XTIMING7.bit.XRDACTIVE = 7;
XintfRegs.XTIMING7.bit.XRDTRAIL = 3;
//双倍全区域读/写前置/主动/后置定时
XintfRegs.XTIMING7.bit.X2TIMING=1 ;
//区域将对 XREADY 信号进行采样
XintfRegs.XTIMING7.bit.USEREADY=1 ;
XintfRegs.XTIMING7.bit.READYMODE = 1; //采样异步
//大小必须为:
// 0、1 = x32或
// 1、1 = x16保留其他值
XintfRegs.XTIMING7.bit.XSIZE = 3;
//组切换
//假设区域7运行缓慢,因此添加额外的 BCYC 周期
//从区域7切换到另一个区域时。
//这将有助于避免总线争用。
XintfRegs.XBANK/bit.Bank= 7;
XintfRegs.XBANK/bit.BCYC = 7;
EDIS;
//强制流水线清空以确保写入
//返回前发生最后配置的寄存器。
InitXintf16Gpio();
// InitXintf32Gpio();
asm (" RPT #7 || NOP");
}