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.

[参考译文] TM4C1230H6PM:使 WT5CCP1运行

Guru**** 2350610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/611398/tm4c1230h6pm-getting-wt5ccp1-running

器件型号:TM4C1230H6PM

大家好、

我正在尝试使 CCP1在 WTIME5 (本产品上的引脚 PD7)上工作。 目前计数器的值为零、它应该在系统时钟以50MHz 运行的情况下对一个0 - 3.3V 10MHz 晶体进行计数。 我正在运行 TivaWare 2.1.4.178和 CCS 7.2.0。

查看寄存器、PD7的解锁过程正常、同时启用了计时器 A 和 B、我认为这是正确的、即使它只是我想要的计时器 B? 如果我仅运行计时器 B、我是否仍然获得32位计时器和16位预分频器? 我在尝试读取 WTIMER 5 Timer_B 值时附加了寄存器值。

我还使用此设置通过  TIMER_CFG_B_PERIODICY_UP 而不 是 TIMER_CFG_B_CAP_COUNT_UP 进行了测试、并且周期性计时器模式工作正常。  

//
//晶体计数器
//
//解锁 PD7
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
for (i=0;i < 50;i++);

HWREG (GPIO_PORTD_BASE + GPIO_O_LOCK)= 0x4C4F434B;
HWREG (GPIO_PORTD_BASE + GPIO_CR)|= GPIO_PIN_7;
for (i=0;i < 50;i++);

SysCtlPeripheralEnable (SYSCTL_Periph_WTIME5);
TimerDisable (WTIMER 5_base、TIMER_Both);

GPIOPinConfigure (GPIO_PD7_WT5CCP1);
GPIOPinTypeTimer (GPIO_PORTD_base、GPIO_PIN_7);

TimerConfigure (WTIMER 5_base、TIMER_CFG_SPLIT_PAIR | TIMER_CFG_B_CAP_COUNT_UP);
TimerControlEvent (WTIMER 5_base、TIMER_B、TIMER_EVENT_POS_EDGE);

TimerPrescaleSet (WTIME5_BASE、TIMER_B、0xFFFF);
TimerLoadSet (WTIMER 5_base、TIMER_B、0xFFFFFFFF);

TimerPrescaleMatchSet (WTIMER 5_base、TIMER_B、0x0);
TimerMatchSet (WTIMER 5_base、TIMER_B、0x0);

TimerEnable (WTIMER 5_base、timer_both); 



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    在输入边沿计数模式期间、16位预分频器用作定时器扩展。 因此、在输入边沿计数模式下、您将使用计时器 A 或计时器 B 组成一个48位计数器