我希望有人能帮助我。
我正在尝试使用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中断,也许是这个问题吗?
感谢您的答复。 问候