ARM 通用定时器

合集下载

stm32f103c8t6的数据手册

stm32f103c8t6的数据手册

《STM32F103C8T6的数据手册》一、概述STM32F103C8T6是ST公司生产的32位ARM Cortex-M3内核的微控制器,具有丰富的外设接口和强大的性能,广泛应用于工业控制、自动化设备、消费类电子产品等领域。

本文旨在对STM32F103C8T6的数据手册进行全面的介绍,帮助读者更好地理解和应用这款微控制器。

二、概览1. 器件简介STM32F103C8T6是一款高性能、低功耗的微控制器,拥有72MHz 工作频率,64KB Flash存储器和20KB RAM。

其丰富的外设接口包括多个通用定时器、串行通信接口、模拟-数字转换器等,适用于各种复杂的应用场景。

2. 功能特性STM32F103C8T6的主要功能特性包括:- ARM Cortex-M3内核- 64KB Flash存储器、20KB RAM- 丰富的外设接口:通用定时器、串行通信接口、模拟-数字转换器等- 低功耗模式:多种低功耗模式可选,满足不同需求3. 应用领域STM32F103C8T6广泛应用于工业控制、自动化设备、消费类电子产品等领域,如工业控制器、电源管理系统、医疗设备等。

三、详细规格1. 通用定时器STM32F103C8T6内置了多个通用定时器,可用于生成精准的定时脉冲,计数器和PWM输出等功能。

2. 串行通信接口该微控制器支持多种串行通信接口,包括SPI、I2C和USART,可用于与外部设备进行高速数据传输。

3. 模拟-数字转换器STM32F103C8T6配备了多个模拟-数字转换器,可实现精确的模拟信号采集和处理。

4. 中断控制器中断控制器可实现对各种外部事件的响应,提高系统的实时性和稳定性。

5. 时钟控制时钟控制模块支持多种时钟源和分频设置,可满足不同应用场景的时序要求。

6. 低功耗模式STM32F103C8T6支持多种低功耗模式,包括待机模式、休眠模式和停止模式,有效降低系统功耗,延长电池寿命。

7. 引脚定义STM32F103C8T6具有多种引脚,可供用户定义为输入/输出口,用于连接外部设备和传感器。

ARM原理及应用复习题(附答案)

ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。

2.STM32F103最高工作频率___72MHz___。

片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。

IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。

5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。

6.STM32的所有端口都有外部中断能力。

当使用外部中断线时,相应的引脚必须配置成输入模式。

7.STM32具有单独的位设置或位清除能力。

这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。

8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。

9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。

10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。

12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。

简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。

stm32f411定时开发实验原理

stm32f411定时开发实验原理

一、STM32F411芯片概述STM32F411是意法半导体公司推出的一款高性能的ARM Cortex-M4核心的微控制器芯片,具有丰富的外设接口和强大的计算能力,广泛应用于工业控制、智能家居、医疗设备等领域。

二、定时开发的意义定时开发是指在嵌入式系统中通过定时器实现定时触发某些任务或事件,例如定时采集传感器数据、定时控制某些执行单元等。

在实际应用中,定时开发可以提高系统的稳定性和实时性,优化系统资源的利用,提高系统的响应速度和性能。

三、定时器的工作原理定时器是嵌入式系统中常用的外设,用于产生精确的定时事件,并触发相应的中断或事件处理。

定时器通常由计数器和控制寄存器组成,计数器用于计数时钟脉冲,控制寄存器用于配置定时器的工作模式和触发条件。

四、STM32F411定时器的特点1. 多种定时器:STM32F411芯片内置了多个定时器,包括基本定时器(TIM6/TIM7)、通用定时器(TIM2/TIM3/TIM4/TIM5)、高级定时器(TIM1)。

不同的定时器具有不同的工作模式和功能,可以满足不同的应用需求。

2. 强大的时钟控制:STM32F411芯片具有丰富的时钟控制功能,可以为定时器提供精确的时钟源,并支持多种时钟分频和倍频配置,满足不同的定时精度要求。

3. 灵活的中断处理:定时器可以产生定时中断,并触发相应的中断处理程序,实现定时任务的实时响应和处理。

五、STM32F411定时开发实验原理在STM32F411芯片上实现定时开发,一般需要以下步骤:1. 初始化定时器:首先需要对所选择的定时器进行初始化配置,包括时钟源、工作模式、定时器周期等参数的设置。

2. 配置中断:根据实际需求,配置定时器的中断触发条件和相关中断优先级。

3. 编写中断处理程序:编写定时器中断的处理程序,用于响应定时触发的事件,并执行相应的任务或操作。

4. 启动定时器:将定时器启动,开始计时,等待定时中断的触发。

5. 完善其他相关功能:根据具体应用需求,可以进一步完善其他相关功能,如定时器的互联、定时器同步、定时器的PWM输出等。

ARM原理及应用复习题(附答案)

ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。

2.STM32F103最高工作频率___72MHz___。

片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。

IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。

5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。

6.STM32的所有端口都有外部中断能力。

当使用外部中断线时,相应的引脚必须配置成输入模式。

7.STM32具有单独的位设置或位清除能力。

这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。

8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。

9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。

10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。

12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。

简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。

第六章 STM32 定时器的使用 《基于ARM的单片机应用及实践--STM32案例式教学》课件

第六章 STM32 定时器的使用 《基于ARM的单片机应用及实践--STM32案例式教学》课件

第六章 STM32 定时器的使用
AHB预分频 /1,2,…,512
APB1预分频 /1,2,4,8,16
最大36MHz
PCLK1 至APB1外设
20个外设时钟使能位
TIM2,3,4,5,6,7 如果APB1预分频=1, 则乘1输出,否则乘2输出
6个外设时钟使能位
TIMXCLK 至TIM2~7
APB2预分频 /1,2,4,8,16
第六章 STM32 定时器的使用
PWM模式 脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器 确定频率、由TIMx_CCRx寄存器确定占空比的信号。 在TIMx_CCMRx寄存器中的OCxM位写入‘110’(PWM 模式1)或‘111’(PWM模式2),能够独立地设置每个 OCx输出通道产生一路PWM。必须设置TIMx_CCMRx 寄存器OCxPE位以使能相应的预装载寄存器, 最后要设置TIMx_CR1寄存器的ARPE位,(在向上计数 或中心对称模式中)使能自动重装载的预装载寄存器。
这个倍频器的作用:当APB1的预分频系数为1时,倍 频器不起作用,定时器的时钟频率等于APB1的频率; 当APB1的预分频系数为其它数值(即预分频系数为2、4 、8或16)时,这个倍频器起作用,定时器的时钟频率 等于APB1的频率两倍。
第六章 STM32 定时器的使用 下面举一个例子说明。假定AHB=36MHz,因为APB1 允许的最大频率为36MHz,所以APB1的预分频系数可 以取任意数值;当预分频系数=1时,APB1=36MHz, TIM2~7的时钟频率=36MHz(倍频器不起作用);
第六章 STM32 定时器的使用
3)设置TIM3_DIER允许更新中断 因为我们要使用TIM3的更新中断,所以设置DIER 的UIE位,并使能触发中断。

PY32F030系列32位ARM

PY32F030系列32位ARM

1.产品特性◼内核—32位ARM®Cortex®-M0+—最高48MHz工作频率◼存储器—最大64Kbytes flash存储器—最大8Kbytes SRAM◼时钟系统—内部4/8/16/22.12/24MHz RC振荡器(HSI)—内部32.768KHz RC振荡器(LSI)—4~32MHz晶体振荡器(HSE)—32.768KHz低速晶体振荡器(LSE)—PLL(支持对HSI或者HSE的2倍频)◼电源管理和复位—工作电压:1.7V~5.5V—低功耗模式:Sleep和Stop—上电/掉电复位(POR/PDR)—掉电检测复位(BOR)—可编程的电压检测(PVD)◼通用输入输出(I/O)—多达30个I/O,均可作为外部中断—驱动电流8mA—4个GPIO支持超强灌电流,可配置为80mA/60mA/40mA/20mA◼3通道DMA控制器◼1x12-bit ADC—支持最多10个外部输入通道PY32F030系列32位ARM®Cortex®-M0+微控制器数据手册—输入电压转换范围:0~VCC◼定时器—1个16bit高级控制定时器(TIM1)—4个通用的16位定时器(TIM3/TIM14/TIM16/TIM17)—1个低功耗定时器(LPTIM),支持从stop模式唤醒—1个独立看门狗定时器(IWDT)—1个窗口看门狗定时器(WWDT)—1个SysTick timer—1个IRTIM◼RTC◼通讯接口—2个串行外设接口(SPI)—2个通用同步/异步收发器(USART),支持自动波特率检测—1个I2C接口,支持标准模式(100kHz)、快速模式(400kHz),支持7位寻址模式◼支持4位7段共阴极LED数码管—可循环扫描1位、2位、3位、4位数字◼硬件CRC-32模块◼2个比较器◼唯一UID◼串行单线调试(SWD)◼工作温度:-40~85℃◼封装LQFP32,QFN32,TSSOP20,QFN20目录1.产品特性 (1)2.简介 (4)3.功能概述 (6)3.1.Arm®Cortex®-M0+内核 (6)3.2.存储器 (6)3.3.Boot模式 (6)3.4.时钟系统 (7)3.5.电源管理 (7)3.5.1.电源框图 (7)3.5.2.电源监控 (8)3.5.3.电压调节器 (9)3.5.4.低功耗模式 (10)3.6.复位 (10)3.6.1.电源复位 (10)3.6.2.系统复位 (10)3.7.通用输入输出GPIO (10)3.8.DMA (10)3.9.中断 (10)3.9.1.中断控制器NVIC (11)3.9.2.扩展中断EXTI (11)3.10.模数转换器ADC (11)3.11.定时器 (12)3.11.1.高级定时器 (12)3.11.2.通用定时器 (12)3.11.3.低功耗定时器 (13)3.11.4.IWDG133.11.5.WWDG (13)3.11.6.SysTick timer (13)3.12.实时时钟RTC (13)3.13.I2C接口 (14)3.14.通用同步异步收发器USART (14)3.15.串行外设接口SPI (16)3.16.SWD (16)4.引脚配置 (17)4.1.端口A复用功能映射 (31)4.2.端口B复用功能映射 (32)4.3.端口F复用功能映射 (33)5.存储器映射 (34)6.电气特性 (38)6.1.测试条件 (38)6.1.1.最小值和最大值 (38)6.1.2.典型值 (38)6.2.绝对最大额定值 (38)6.3.工作条件 (39)6.3.1.通用工作条件 (39)6.3.2.上下电工作条件 (39)6.3.3.内嵌复位和LVD模块特性 (39)6.3.4.工作电流特性 (40)6.3.5.低功耗模式唤醒时间 (41)6.3.6.外部时钟源特性 (42)6.3.7.内部高频时钟源HSI特性 (44)6.3.8.内部低频时钟源LSI特性 (44)6.3.9.锁相环PLL特性 (44)6.3.10.存储器特性 (45)6.3.11.EFT特性 (45)6.3.12.ESD&LU特性 (45)6.3.13.端口特性 (45)6.3.14.NRST引脚特性 (46)6.3.15.ADC特性 (46)6.3.16.比较器特性 (47)6.3.17.温度传感器特性 (48)6.3.18.定时器特性 (48)6.3.19.通讯口特性 (49)7.封装信息 (53)7.1.LQFP32封装尺寸 (53)7.2.QFN32封装尺寸 (54)7.3.QFN20封装尺寸 (55)7.4.TSSOP20封装尺寸 (56)8.订购信息 (57)9.版本历史 (58)2.简介PY32F030系列微控制器采用高性能的32位ARM®Cortex®-M0+内核,宽电压工作范围的MCU。

ARM暑期讲座三——TIMER应用(一)

ARM暑期讲座三——TIMER应用(一)

步骤五 编写中断服务程序
void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); switch(start){ /*LED1 点亮*/ case 0: GPIO_ResetBits(GPIOF,GPIO_Pin_6); GPIO_SetBits(GPIOF,GPIO_Pin_7); GPIO_SetBits(GPIOF,GPIO_Pin_8); GPIO_SetBits(GPIOF,GPIO_Pin_9); GPIO_SetBits(GPIOF,GPIO_Pin_10); break;…… } if(++start>=5) { start = 0; } } }
2、PWM模式
脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由 TIMx_CCRx寄存器确定占空比的信号。 在TIMx_CCMRx寄存器中的OCxM位写入’110’(PWM模式1) 或’111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。 必须通过设置TIMx_CCMRx寄存器的OCxPE位使能相应的预装载寄存器, 最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式 中)使能自动重装载的预装载寄存器。 仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器, 因此在计数器开始计数之前,必须通过设置TIMx_EGR寄存器中的UG位 来初始化所有的寄存器。 OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可 以设置为高电平有效或低电平有效。OCx的输出使能通过(TIMx_CCER和 TIMx_BDTR寄存器中)CCxE、CCxNE、MOE、OSSI和OSSR位的组合 控制。详见TIMx_CCER寄存器的描述。 在PWM模式(模式1或模式2)下,TIMx_CNT和TIMx_CCRx始终在进行比 较,(依据计数器的计数方向)以确定是否符合TIMx_CCRx≤TIMx_CNT或 者TIMx_CNT≤TIMx_CCRx。 根据TIMx_CR1寄存器中CMS位的状态,定时器能够产生边沿对齐的 PWM信号或中央对齐的PWM信号。

脉宽调制器与通用定时器毕业论文中英文资料外文翻译文献

脉宽调制器与通用定时器毕业论文中英文资料外文翻译文献

脉宽调制器与通用定时器毕业论文中英文资料外文翻译文献ARM Cortex-M3脉宽调制器(PWM)与通用定时器1.PWM脉宽调制(PWM)是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。

在脉宽调制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。

PWM通常使用在开关电源(switching power)和电机控制中。

StellarisPWM模块由3个PWM发生器模块1个控制模块组成。

每个PWM 发生器模块包含1个定时器(16位递减或先递增后递减计数器),2个PWM比较器,PWM信号发生器,死区发生器和中断/ADC-触发选择器。

而控制模块决定了PWM 信号的极性,以及将哪个信号传递到管脚。

每个PWM发生器模块产生两个PWM信号,这两个PWM信号可以是独立的信号(基于同一定时器因而频率相同的独立信号除外),也可以是一对插入了死区延迟的互补(complementary)信号。

这些PWM发生模块的输出信号在传递到器件管脚之前由输出控制模块管理。

StellarisPWM模块具有极大的灵活性。

它可以产生简单的PWM信号,如简易充电泵需要的信号;也可以产生带死区延迟的成对PWM信号,如供半-H桥(half-H bridge)驱动电路使用的信号。

3个发生器模块也可产生3相反相器桥所需的完整6通道门控。

PWM定时器每个PWM发生器的定时器都有两种工作模式:递减计数模式或先递增后递减计数模式。

在递减计数模式中,定时器从装载值开始计数,计数到零时又返回到装载值并继续递减计数。

在先递增后递减计数模式中,定时器从0开始往上计数,一直计数到装载值,然后从装载值递减到零,接着再递增到装载值,依此类推。

通常,递减计数模式是用来产生左对齐或右对齐的PWM信号,而先递增后递减计数模式是用来产生中心对齐的PWM信号。

PWM定时器输出3个信号,这些信号在生成PWM信号的过程中使用:方向信号(在递减计数模式中,该信号始终为低电平,在先递增后递减计数模式中,则是在低高电平之间切换);当计数器计数值为0时,一个宽度等于时钟周期的高电平脉冲;当计数器计数值等于装载值时,一个宽度等于时钟周期的高电平脉冲。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于定时器的几个概念 硬件定时器与软件定时器
1000
1000 i++
i--
0 初值 结束 初值 结束
0
第8页
18:12
通用定时器(Timer)
关于定时器的几个概念 单次触发与周期触发
load
load
load
load
load
连续的单次触发等同于周期触发!!!!!
第9页
18:12
通用定时器(Timer)
关于定时器的几个概念 16位定时器与32位定时器 16位定时器 最大初值 0xffff
32位定时器 最大初值 0xffff ffff
两个16位定时器级联为32位定时器,而32位定 时器可以拆分为两个16位定时器!!1
第10页
18:12
通用定时器(Timer)
关于定时器的几个概念 16位输入边沿计数捕获
第20页 18:12
参数
函数名称 功能 原型 参数
通用定时器(Timer)
库函数——中断控制
函数名 称 功能 原型 TimerIntDisable( ) 禁止Timer的中断模块 void TimerIntDisable(unsigned long ulBase, unsigned long ulIntFlags) ulBase:Timer模块的基址,取值TIMERn_BASE(n为0、1 、2或3) ulIntFlags:被禁止的中断源,取值与中断使能当中的参数 ulIntFlags相同 无
第18页 18:12
参数
通用定时器(Timer)
库函数——装载初值
TimerLoadSet(TIMER0_BASE, TIMER_A, 9000000UL); //设置32位Timer0初值,定时1.5s 主频6M
注意: Timer 模块的功能在总体上可以分成 32 位模式和 16 位模式两大类。在 32 位模式下,对 Timer 的各项操作,如装载初 值、运行控制、中断控制等,都用对 TimerA的操作作为总体上的 32 位控制。
第5页
18:12
通用定时器(Timer)
Timer 功能结构图
第6页
18:12
通用定时器(Timer)
关于定时器的几个概念 增计数与减计数模式 以定时1000S 为例,假设8962每秒 计数一次,如何实现实时?
1000 i++ 1000
i--
ห้องสมุดไป่ตู้
0 初值 结束 初值 结束
0
第7页
18:12
通用定时器(Timer)
delay(2S)
}
第3页
18:12
回顾
//初始化 SysTickPeriodSet(12000000UL); SysTickIntEnable(); IntMasterEnable(); SysTickEnable();
//中断服务程序 void SysTick_ISR(void) { //send “com test ok” } 注意:更改中断向量表 startup_ewarm.c
第14页
18:12
通用定时器(Timer)
Timer 库函数 ——配置
void TimerConfigure(unsigned long ulBase, unsigned long ulConfig) ulConfig:Timer模块的配置 在32位模式下应当取下列值之一: TIMER_CFG_32_BIT_OS //32位单次触发定时器 TIMER_CFG_32_BIT_PER //32位周期定时器 TIMER_CFG_32_RTC //32位RTC 定时器
第19页
18:12
通用定时器(Timer)
库函数——运行控制
函数名称 功能 原型 TimerEnable( ) 使能Timer计数(即启动Timer) void TimerEnable(unsigned long ulBase, unsigned long ulTimer) ulBase:Timer模块的基址,取值TIMERn_BASE(n为0、1、2或3) ulTimer:指定的Timer,取值TIMER_A、TIMER_B或TIMER_BOTH TimerDisable( ) 禁制Timer计数(即停止Timer) void TimerDisable(unsigned long ulBase, unsigned long ulTimer) ulBase:Timer模块的基址,取值TIMERn_BASE(n为0、1、2或3) ulTimer:指定的Timer,取值TIMER_A、TIMER_B或TIMER_BOTH
实例:配置Timer0为32位单次触发定时器 TimerConfigure(TIMER0_BASE, TIMER_CFG_32_BIT_OS);
第15页
18:12
通用定时器(Timer)
Timer 库函数 ——配置
void TimerConfigure(unsigned long ulBase, unsigned long ulConfig) 在16位模式下,配置 TimerA 的方法是参数 ulConfig 先取值 TIMER_CFG_16_BIT_PAIR 再与下列值之一进行“或运算”的组合形式: TIMER_CFG_A_ONE_SHOT //TimerA为单次触发定时器 TIMER_CFG_A_PERIODIC //TimerA为周期定时器 TIMER_CFG_A_CAP_COUNT //TimerA为边沿事件计数器 TIMER_CFG_A_CAP_TIME //TimerA为边沿事件定时器 TIMER_CFG_A_PWM //TimerA为PWM输出 在Timer0当中,配置TimerA为单次触发定时器(不配置TimerB) TimerConfigure(TIMER0_BASE, TIMER_CFG_16_BIT_PAIR | TIMER_CFG_A_ONE_SHOT); 如果要求配置TimerB,又该如何处置????
1S
Count 用于计数, 信号的频率是多少?
第11页
18:12
通用定时器(Timer)
关于定时器的几个概念 16位输入边沿定时捕获
0xffff
0xffff
Tcnt_old
Tcnt_new
0x0
0x0
信号的频率是多少?或者说它的周期是多少?
第12页 18:12
通用定时器(Timer)
关于定时器的几个概念 16位PWM
参数 返回
第21页
18:12
通用定时器(Timer)
库函数——中断控制
函数名 称 TimerIntEnable( )
功能
原型
使能Timer的中断
void TimerIntEnable(unsigned long ulBase, unsigned long ulIntFlags) ulBase:Timer模块的基址,取值TIMERn_BASE(n为0、1、2或3) ulIntFlags:被使能的中断源,应当取下列值之一或者它们之间的任 意“或运算”组合形式: TIMER_TIMA_TIMEOUT //TimerA超时中断 TIMER_CAPA_MATCH //TimerA捕获模式匹配中断 TIMER_CAPA_EVENT //TimerA捕获模式边沿事件中断 TIMER_TIMB_TIMEOUT //TimerB超时中断 TIMER_CAPB_MATCH //TimerB捕获模式匹配中断 TIMER_CAPB_EVENT //TimerB捕获模式边沿事件中断 TIMER_RTC_MATCH //RTC匹配中断
实例:32位单次触发
#include “systemInit.h” #include <timer.h> // 定义LED #define LED_PERIPH #define LED_PORT #define LED_PIN // 定义KEY #define KEY_PERIPH #define KEY_PORT #define KEY_PIN //工作目录 //系统目录 必须添加
第17页
18:12
通用定时器(Timer)
库函数——装载初值
函数 名称 功能 原型
TimerLoadSet( ) 设置Timer的装载值 void TimerLoadSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) ulTimer:指定的Timer,取值TIMER_A、TIMER_B或 TIMER_BOTH ulValue:32位装载值(32位模式)或16位装载值(16 位模式)
第4页 18:12
通用定时器(Timer)
Timer 总体特性
8962集成有 4 个通用定时器(General-Purpose Timer Module,GPTM), 分别称为 Timer0、Timer1、Timer2 和 Timer3。 每个 Timer 模块都可以配置为一个 32 位定时器或一个 32 位 RTC 定时器用 于捕获;也可以拆分为两个16 位的定时/计数器 TimerA 和 TimerB。 每个 Timer 模块可以被配置为独立运行的定时器、事件计数器或 PWM。
ton ton ton
tpwm
tpwm
tpwm
T1_per=tpwm T1_cmpr=ton
16位PWM的用途在哪里?
第13页 18:12
通用定时器(Timer)
Timer 库函数——使能 #define SysCtlPeriEnable SysCtlPeripheralEnable SysCtlPeriEnable(SYSCTL_PERIPH_TIMERn);
TimerIntClear( )
参数
第24页
相关文档
最新文档