Arduino DUE ATSAM3X8E计时器

时间:2018-07-05 11:19:22

标签: timer counter cortex-m3 arduino-due atsam3x

我希望有人能帮助我。

我正在尝试使用Arduino DUE做一个简单的脉冲计数器,并且由于我需要确保获得准确的读数,因此我想使用SAM的Timer Counter之一。

我看了一下数据表,看了几遍之后,我试图用这种方式做。

首先,我已经在B线上配置了PB26引脚,所以:

REG_PIOB_WPMR = 0x50494F00;    //disable the protection on the registers
REG_PIOB_ABSR |= 0x04000000;
REG_PIOB_WPMR = 0x50494F00; // enable again the write-protection

然后,我尝试以这种方式配置TC0:

REG_TC0_WPMR = 0x54494D00;
REG_TC0_CMR0 = 0x0405;
REG_TC0_CCR0 = 0x0001;
REG_TC0_BMR = 0x0;
REG_TC0_WPMR = 0x54494D01;

然后我尝试在TCLK0上输入一个10Hz 3Vpp方波,但是REG_TC0_CV0仍为0。

我不明白我哪里错了。 这是我第一次尝试直接写SAM3X8E寄存器。

我已经读到我必须在PMC中启用时钟,但是阅读数据表时我不知道如何操作(而且,我认为内部时钟是必需的)。 另外我已经读到必须启用PID27中断,也许是这个问题吗?

感谢您的答复。 问候

0 个答案:

没有答案