这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 开源硬件 » 疯壳AI人脸及语音识别教程2-3定时器

共1条 1/1 1 跳转至

疯壳AI人脸及语音识别教程2-3定时器

菜鸟
2020-11-09 15:14:49     打赏

目录

1.1寄存器 1

1.2 实验现象 18


详情地址:https://fengke.club/GeekMart/views/offline/ai

购买链接:https://fengke.club/GeekMart/su_fKw7Nb7oC.jsp

视频地址:https://fengke.club/GeekMart/su_f9cTSxNsp.jsp

官方QQ群:457586268


1.1寄存器

C3200包含432位用户可编程通用定时器(TimerA0~3),通用定时器可以对定时器输入引脚的外部事件进行计数或定时。每个定时器模块包含2 16位的定时/计数器(TimerATimerB),可以作为定时器或事件计数器独立工作,也可以作为一个32位定时器工作。

CC3200的定时器具有多种操作模式:16位或32位可编程单次定时器;16位或32位可编程周期定时器;16位通用定时器,带8位预分频器;16位输入边沿计数或时间捕捉模式,带8位预分频器;16位脉冲宽度调制模式(PWM),带8位预分频器和软件可编程输入。具有以下特性:

a、向上或向下计数;

b1616位或32位捕捉比较PWMCCP)引脚;

c、可以确定产生定时器中断到进入中断服务程序(ISR)的时间;

d、可以触发使用 DMA 的高效传输;

e、系统时钟运行(80MHz)。

GPTMCFG寄存器主要是配置通用定时器模块的全局操作。确定通用定时器工作于32位模式还是16位模式。该寄存器中的值只能是在GPTMCTL寄存器中的TAENTBEN两位被清零时改变。如图1.0.1所示

image.png 

1.0.1 GPTMCFG寄存器

2~0位:写入0,配置为32位定时器模式;写入4,配置为16位定时器模式。

GPTMTAMR寄存器配置是基于GPTMCFG寄存器的配置来进行选择的。在PWM模式中,置位TAAMS位、清除TACMR位和配置TAMR0x01或者0x02。寄存器如图1.0.2所示,位定义如图1.0.3所示。

 

image.png 

 

1.0.2 GPTMTAMR寄存器 

image.pngimage.png  

1.0.3 GPTMTAMR寄存器位定义

GPTMTBMR寄存器控制独立定时器B的工作模式。当定时器A和定时器B一起使用时该寄存器被忽略,而是通过GPTMTAMR来控制定时器A和定时器B的工作模式。注意:除了TCACT位,其它位都必须在GPTMCTL寄存器中的TBEN位清零时进行配置。GPTMTBMR寄存器如图1.0.4所示,位定义如图1.0.5所示。

image.png 

1.0.4 GPTMTBMR寄存器

 

image.png 

image.png

1.0.5 GPTMTBMR寄存器位定义


GPTMCTL寄存器该寄存器为定时器的控制寄存器,如图1.0.6所示:

image.png

1.0.6 GPTMCTL寄存器

image.png 

image.png 

1.0.7 GPTMCTL寄存器位定义

 

GPTMIMR寄存器可以软件使能/关闭定时器的控制电平中断。置位可以打开对应的中断,清零可以关闭对应的中断。寄存器如图1.0.8所示,该寄存器位定义如图1.0.9所示

image.png 

1.0.8 GPTMIMR寄存器

image.pngimage.png 

1.0.9 GPTMIMR寄存器位定义


GPTMRIS寄存器为中断源状态寄存器,通过该寄存器可以获取中断源。GPTMRIS寄存器如下图1.1.0所示,寄存器位定义如图1.1.1所示。

image.png 

1.1.0 GPTMRIS寄存器 

image.pngimage.png 

1.1.1 GPTMRIS寄存器位定义

GPTMMIS寄存器为中断掩码状态寄存器,可以检测是否产生中断。如1.1.3所示为其寄存器,图1.1.4为寄存器的位定义。

image.png 

1.1.3 GPTMMIS寄存器

image.png 

image.png 

1.1.4 GPTMMIS寄存器位定义

GPTMICR寄存器用于清除GPTMRISGPTMIS寄存器中的状态位,写入1则清除对应的中断。GPTMICR寄存器如图1.1.5所示GPTMICR寄存器位定义如图1.1.6所示。image.png

 

1.1.5GPTMICR寄存器

image.pngimage.png

1.1.6 GPTMICR寄存器位定义

当通用定时器被配置为32位模式,GPTMTAILR作为一个32位寄存器(高16位对应与定时器B装载值寄存器的内容)。在16位模式,寄存器的高16位读取值为0,并且对GPTMTBILR寄存器的状态没有影响。如1.1.7所示为其寄存器及位定义。

 image.png

1.1.7 GPTMTAILR寄存器及位定义

当通用定时器配置为32位模式时GPTMTBILR寄存器中[15:0]位的内容被装载到GPTMTAILR 寄存器的高16位。读取该寄存器,则返回定时器B的当前值,写操作无效。在 16 位模式,[15:0]位用于装载值。[31:16]位保留不使用。如图1.1.8所示GPTMTBILR寄存器及其位定义。

image.png 

1.1.8 GPTMTBILR寄存器及其位定义

当通用定时器被配置为32位模式时GPTMTAMATCHR作为32位寄存器(高16位对应GPTMTBMATCHR寄存器的内容)。在16位模式,寄存器的高16位读取为0,并且对GPTMTBMATCHR的状态没有影响。如图1.1.9所示GPTMTAMATCHR及其位定义。

 

image.png 

1.1.9 GPTMTAMATCHR及其位定义

当通用定时器配置为32位模式时,GPTMTBMATCHR寄存器的[15:0]位被装载到寄存器GPTMTAMATCHR寄存器的高16位。读取该寄存器得到定时器B的当前值,写操作无效。在16位模式中,[15:0]位用于匹配值。[31:16]位保留不使用。如图1.2.0所示GPTMTBMATCHR寄存器及其位定义。

 image.png


1.2.0 GPTMTBMATCHR寄存器及其位定义

 

GPTMTAPR寄存器通过软件来扩展独立定时器的范围。在单或者周期减计数模式, 该寄存器作为定时计数器的预分频器。如1.2.1所示

image.png 

1.2.1 GPTMTAPR寄存器

GPTMTBPR寄存器通过软件来扩展独立定时器的范围。在单或者周期减计数模式, 该寄存器作为定时计数器的预分频器。如1.2.2所示。

 image.png

1.2.2 GPTMTBPR寄存器

GPTMTAPMR寄存器扩展独立定时器GPTMTAMATCHR的范围。当寄存器工作于 16 位模式时,该寄存器表示[23:16]位。如图1.2.3所示

image.png 

 

1.2.3 GPTMTAPMR寄存器

GPTMTBPMR寄存器扩展独立定时器GPTMTAMATCHR的范围。当寄存器工作于16位模式时,该寄存器表示[23:16]位。如1.2.4所示

 image.png

1.2.4 GPTMTBPMR寄存器

当定时器配置为32位模式时,GPTMTAR作为32位寄存器使用(高16位对应GPTMTBR寄存器的内容)。在16位输入边沿计数,输入边沿定时和PEM模式,[15:0]位包含计数器的值,[23:16]位包含预分频高8位的值。[31:24]位读取值始终为0。可以读取 GPTMTAV[23:16]位来获取16位模式单次和周期模式的预分频值。读取GPTMTAPS寄存器可以获取定期快照模式下的预分频值。如图1.2.5所示GPTMTAR寄存器及其位定义。

image.png 

1.2.5 GPTMTAR寄存器及其位定义。

当通用定时器配置为32位模式时,GPTMTBR寄存器[15:0]位被装载到GPTMTAR寄存器的高16位。读取该寄存器发挥定时器B的当前值。在16位模式[15:0] 位包含计数器的值,[23:16]位包含在输入边沿计数、边沿定时和PWM模式下的预分频。[31:24]位读取为0。可以通过读取GPTMTBV寄存器中的[2316]位可以获取16位单次和周期模式的预分频值。读取GPTMTBPS寄存器可以获取周期快照模式下的预分频。如图1.2.6所示为GPTMTBR寄存器及其位定义。

image.png 

1.2.6 GPTMTBR寄存器及其位定义

当定时器配置为32位模式时,GPTMTAV作为32位寄存器(高16位对应GPTMTBV寄存器的内容)。在 6位模式,[15:0]位包含计数器的值,[23:16]位包含分频值。在单次或周期减计数模式,[23:16]位存储真实的预分频值,意味着[15:0]位的值之前,先减[23:16]位的值。[31:24]位读取始终为0。如图1.2.7所示GPTMTAV寄存器及其位定义。

image.png 

1.2.7 GPTMTAV寄存器及其位定义

当通用定时器配置为32位模式,GPTMTBV寄存器[15:0]位的值被装载到GPTMTAV寄存器的高16位。读取该寄存器,则返回定时器B的当前值。在16位模式[15:0]位包含计数器的值,[23:16]位包含当前的预分频值。在单次或周期模式,[23:16]位为真实的预分频值,意味着在[15:0]位减数之前,[23:16]位先进行减数。[31:24]位读取值为0。如图1.2.8所示GPTMTBV寄存器及其位定义。

image.png 

1.2.8 GPTMTBV寄存器及其位定义

GPTMDMAEV寄存器允许软件使能和关闭定时器DMA触发事件。置位则对应的DMA触发使能,清零则关闭。如1.2.9所示GPTMDMAEV寄存器,图1.3.0为其位定义。

image.png 

1.2.9 GPTMDMAEV寄存器


image.pngimage.png 

1.3.0 GPTMDMAEV寄存器位定义



1.2 实验现象

本实验在官方CC3200SDK_1.2.0timer例程代码的基础上修改过来的,用IAR打开Timer_Demo里的工程,编译下载(参考GPIO小节),从程序可以看到是利用CC3200的定时器Timer A0Timer A1去控制GPIO_9GPIO_11亮灭时间。如图1.3.1所示为该工程的main函数。

image.png 

1.3.1 Timer_Demomain函数

main函数中通过PinMuxConfig()函数初始化了GPIO_9GPIO_11,通过Timer_IF_Init()初始化了TimerA0TimerA1,频率和系统时钟一致(不分频),在Timer_IF_Start()函数中对TimerA0装载了500这一参数,TimerA1装载了1000,实际上就是TimerA0定时500ms进入中断函数TimerBaseIntHandler()TimerA1定时1000ms进入中断函数TimerRefIntHandler(),进入中断后对IO口输出状态进行反转。

打开UniFlash下载bin文件到板子上(参考GPIO小节),把D5D7拨码开关拨到ON(程序中使用的是D5D7),按下复位键,可以看到D5D7交替闪烁,如图1.3.2为实验现象。

image.png 

1.3.2 Timer_Demo实验现象

使用逻辑分析仪可以看到GPIO_9端为1000ms1s)的脉宽,如图1.3.3所示。

image.png 

image.png

1.3.3 GPIO_9脉宽

如图1.3.4可以看到GPIO_11端的脉宽为500ms0.5s)。

image.png 

1.3.4 GPIO_11脉宽







关键词: 疯壳     人脸     语音     识别     教程    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]