主题中讨论的其他器件: SysConfig
工具与软件:
我将通过 Launchpad28379D 评估 TMS320F28379D 处理器、并根据提供的示例使用位字段头文件创建我自己的项目。 我可以设置 GPIO 和中断并使其正常工作、然后想检查系统的时钟。 通读技术手册、我发现 XCLKOUT 可用于在 GPIO73上输出时钟。 但是、该引脚仅路由至 LaunchPad 背面的高密度连接器。 我找到了一篇相关的论坛帖子、其中的解决方案是使用 XBAR 将时钟信号从 GPIO73路由到 GPIO 输出 XBAR。 目标是将 GPIO73上的时钟信号路由到 InputXBAR1、然后再路由到示波器上的 GPIO 输出 XBAR1 (GPIO24)。 我遇到了麻烦、到目前为止、我只能在引脚上看到200mV 60Hz 的信号、无论时钟源如何都是如此。 根据技术手册中的信息、我使用以下命令设置了以下规则:
//要使 GPIO73输出 XCLK、但写操作之间需要69个时钟周期、所以先写这个
ClkCfgRegs.CLKSRCCTL3.bit.XCLKOUTSEL = 6;//立即选择 INTOSC2
/*在 GPIO73上输出系统时钟以监视范围*/
GpioCtrlRegs.GPCMUX1.bit.GPIO73 = 3;//将多路复用设置为 XCLK
GpioCtrlRegs.GPCDIR.bit.GPIO73 = 1; //设置为输出
GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0;// Enable PULLUP on GPIO24 (在 GPIO24上启用上拉)
GpioCtrlRegs.GPADIR.bit.GPIO24 = 1;//设置为输出
GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1;//设置多路复用器、因此引脚24是 XBAROUT0
//需要将该引脚路由到输入 XBAR、然后路由到 OUTPUTXBAR、因为
//此引脚73未从 Launchpad 的封装上引出!!
OutputXbarRegs.OUTPUTLOCK.bit.lock = 0;
InputXbarRegs.INPUTSELECTLOCK.bit.INPUT1SELECT = 0;
InputXbarRegs。 INPUT1SELECT = 73;
OutputXbarRegs.OUTPUT1MUX0TO15CFG.bit.MUX1 = 0x1;
OutputXbarRegs.OUTPUT1MUXENABLE.bit.MUX1 = 1;
OutputXbarRegs.OUTPUTLATCHENABLE.bit.Output1 = 0;
OutputXbarRegs.OUTPUTINV.bit.Output1 = 0;
请说明我是否忽略了设置特定的寄存器、或者为什么我无法看到 GPIO24上的时钟输出。
感谢你能抽出时间
