Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Timer 启用系统AHB时钟至计时器_Timer_Cpu Registers - Fatal编程技术网

Timer 启用系统AHB时钟至计时器

Timer 启用系统AHB时钟至计时器,timer,cpu-registers,Timer,Cpu Registers,我试图理解为LPC11U14 MCU和村田陀螺传感器编写的SPI通信代码。我自己也有过使用Arduino的经历,听说过指针和移位寄存器,现在学习C编程是为了好玩 我不清楚该行分配计时器: LPC_SYSCON->SYSAHBCLKCTRL |=(1 SYSAHBCLKCTRL |=(1 MR0=20870; LPC_CT16B0->MCR=(0x3 TCR=1;//启用计时器0 p.S.也许是“Arduino语言”中的一个例子也可能有帮助。LPC\u SYSCON是指向SYSCON的基址的

我试图理解为LPC11U14 MCU和村田陀螺传感器编写的SPI通信代码。我自己也有过使用Arduino的经历,听说过指针和移位寄存器,现在学习C编程是为了好玩

我不清楚该行分配计时器:
LPC_SYSCON->SYSAHBCLKCTRL |=(1 SYSAHBCLKCTRL |=(1 MR0=20870;
LPC_CT16B0->MCR=(0x3 TCR=1;//启用计时器0

p.S.也许是“Arduino语言”中的一个例子也可能有帮助。

LPC\u SYSCON
是指向
SYSCON
的基址的指针,我认为它是MCU中的一个硬件块。从基址开始的数据结构在名为
LPC\u SYSCON\u Type
的头文件中有很好的定义。
LPC\u SYSCON->SYSAHBCLKCTRL
使用该基址和寄存器的偏移量
SYSAHBCLKCTRL
来计算
SYSAHBCLKCTRL
的物理地址,然后通过
设置位7=(1
// Enable AHB clock to the 16-bit counter/timer 0 (CT16B0)
LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 7);
// MR0 (Match Register 0) will generate an interrupt at 2300 Hz (MCLK is 48 MHz)
LPC_CT16B0->MR0 = 20870;
LPC_CT16B0->MCR = (0x3 << 0); // Interrupt and Reset on MR0
NVIC_EnableIRQ(TIMER_16_0_IRQn); // Enable the TIMER0 Interrupt
LPC_CT16B0->TCR = 1; // Enable TIMER0