好记性不如铅笔头

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)
        ;
}

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

发表评论

11 − 7 =

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