TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28335: 关于GPIO 检测问题

Part Number:TMS320F28335

在配置GPIO过程中,将GPIO0,1均配置为输入,且采样周期为系统时钟,采样次数与系统时钟同步。然后用GPADAT寄存器读取,程序如下:

if (GpioDataRegs.GPADAT.bit.GPIO0==0)

{a=a+1;}

if (GpioDataRegs.GPADAT.bit.GPIO1==0)

{b=b+1;}

用ccs的clock功能发现程序从if (GpioDataRegs.GPADAT.bit.GPIO0==0)到if (GpioDataRegs.GPADAT.bit.GPIO1==0)大概10ns

然后将采样周期改为510个系统时钟,采样次数为6个采样周期,执行上述程序,同样发现程序从if (GpioDataRegs.GPADAT.bit.GPIO0==0)到if (GpioDataRegs.GPADAT.bit.GPIO1==0)大概10ns。

即配置输入限定不影响GPADAT读取时间?按照我的理解,GPADAT读取是对GPIO管脚进行采样,检测该管脚电平高低,采样周期越长,读取的时间也应该越长,不知道是否理解有误?

Yale Li:

这些配置都是硬件上的配置,并不影响CPU代码的执行,这是两码事。

这些限定就是体现在阴影框内的部分。不满足配置的信号就不会通过阴影部分。

,

ke Lan:

谢谢回答,不过代码if (GpioDataRegs.GPADAT.bit.GPIO0==0)执行后,参数a发生变化,说明条件成立,也就是说GPIO确实由高电平变成了低电平,而且通过输入限定,被GPADAT读取。程序从if (GpioDataRegs.GPADAT.bit.GPIO0==0)到if (GpioDataRegs.GPADAT.bit.GPIO1==0)大概10ns,如果认为是程序执行的时间,而且参数发生变化,不是代表这10ns中,IO口电平由高到底被检测通过输入限定了吗,但是通过输入限定的时间可以配置为500个系统时钟,大概是3us。怎么理解这10ns和3us,感觉有冲突

,

Yale Li:

只要GPIO上的输入信号满足要求,便会通过阴影部分,GPADAT的值就会发生相应的变化。这些动作会发生在任何时刻。

10ns是这几行代码的执行时间,完全是两码事。

,

ke Lan:

明白了,谢谢。

,

Yale Li:

客气了

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28335: 关于GPIO 检测问题
分享到: 更多 (0)