Thread 中讨论的其他器件: EK-TM4C1294XL
尊敬的支持:
使用 TM4C1290NCPDT 时、从 RTCCLK (PC5)引脚获取 RTCCLK 信号时遇到问题。 对于"问题"、请阅读"我不成功"。 我将 Code Composer Studio 版本6.2.0.00050与 TivaWare C 系列2.1.1.71库搭配使用。
下面是我尝试将 PC5配置为作为 RTCCLK 工作时使用的代码:
(未显示启用/配置休眠外设并使 RTC 运行的代码。 我已经添加了代码来确认 RTC 秒寄存器每秒递增一次。)
//启用 GPIOC
//(我们有一些引脚用于设置/配置)
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);
//现在等待它启用...
while (false =SysCtlPeripheralReady (SYSCTL_Periph_GPIOC));
// RTCCLK 是一个替代函数
GPIOPinConfigure (GPIO_PC5_RTCCLK);
//就像 DIVSCLK 那样执行第二个
GPIOPadConfigSet (GPIO_PORTC_BASE、GPIO_PIN_5、GPIO_FORMENT_2mA、GPIO_PIN_TYPE_STD);
//我们必须对 RTCCLK 和 DIVCLK 执行以下操作
// 因为 Tiva 库不提供
// 完成设置的函数、配置引脚供硬件/外设使用
//现在将引脚配置为硬件控制!
//请注意,此函数写入 GPIO_O_AFSEL
// 使用引脚#注册以完成到备用功能的转换!
GPIODirModeSet (GPIO_PORTC_BASE、GPIO_PIN_5、GPIO_DIR_MODE_HW);
让我在此补充一点、对于配置 PQ4作为 DIVSCLK 运行以发出 PIOSC 时钟的适当参数、上述步骤可以正常工作。 我将从 DIVSCLK 引脚获取16MHz PIOSC (尽管我通过另一个寄存器选择的是64分频)。
RTCCLK 仅配置为在初始制造测试期间发出 RTC 时钟信号。 RTCCLK 引脚几乎直接路由到该引脚下的测试焊盘、因此不会有太多可能出错的地方、但我已确认它没有短接到任何其他引脚。 哦、我已经注意到电路板的两个不同硬件版本上的这种行为。
这项工作非常重要,因为我们要确认32.768kHz 时钟非常精确--在几个 PPM 以内。 我们将 RTC 用于网状无线电网络的关键计时。 我们还使用 RTC 来执行 PIOSC 校准、以使 PIOSC 的精度优于1%。
此致、
Marc Warden
高级固件工程师
Davis Instruments