好记性不如铅笔头

ARM, 操作系统

ARM学习随手笔记:使用SysTick定时器

作者最近在学习keil和ARM,哎,只能感叹自己老了,这里简单的记录下学习笔记吧。

SysTick寄存器如下:

(图片来自《Cortex-M3权威指南》,版权归原作者所有)

的作者的工程基于【ARM学习随手笔记:使用keil建立一个最简单的工程】和【 ARM学习随手笔记:使用ITM方式启用printf 】,修改main函数并添加中断响应函数:

/* SysTick中断响应函数,参考startup_ARMCM3.s */
void SysTick_Handler(void)
{
	printf("SysTick_Handler Called\n");
}


int main(void)
{
	unsigned int *pControl = (unsigned int *)(0xE000E010);
	unsigned int *pReload = (unsigned int *)(0xE000E014);
	unsigned int *pCurrent = (unsigned int *)(0xE000E018);
	
	*pControl = 0;  //先关闭SysTick
	*pReload = 0xFFFFFFF; //设置定时值
	*pCurrent = 0;  //清理掉当前值
	*pControl = 0x7; //启动SysTick
	
	while(1)
		;
}

编译执行后使用模拟器运行如下图:

Leave a Reply

4 + 19 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据