【ARM裸板】定时器中断示例与分析

本文详细介绍了ARM裸板环境下定时器的初始化步骤,包括设置时钟源、初值、手动加载及自动重装载。还探讨了构造函数指针的概念,用于在中断发生时调用相应处理函数。
摘要由CSDN通过智能技术生成

1.定时器结构分析

  • 1.每来一个CLK,TCNTn减1
  • 2.当TCNTn == TCMPn时,(可以把对应的PWM引脚翻转)
    • TCNTnTCMPn的值来自寄存器TCNPBnTCMTBn
  • 3.TCNTn继续减1,当TCNTn == 0时,可以产生中断(PWM引脚再次翻转)
  • 4.TCNTn == 0时,可自动加载初值
    在这里插入图片描述

2.初始化

  • 1.设置时钟源
  • 2.设置初值
  • 3.加载初值,启动Timer
  • 4.设置为自动加载
  • 5.中断相关

在这里插入图片描述

  • 需要设置:1.Prescaler,2.MUX(Divider),3.TCMPB0(不是PWM测试,因此该不需要设置),4.TCNTB0,5.TCON0

在这里插入图片描述

2.1 设置时钟源

在这里插入图片描述

  • 由上公式:
  • 设置Prescaler
  • 设置MUX
	/* 1.设置timer0的时钟
	 * Timer CLK = PCLK / {prescaler value+1} / {divider value}
	 *               50000000/(99+1)/(16) = 31250
	 */
	TCFG0 = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值