搜索
热门关键词:
电力电子
PowerPCB
飞思卡尔
DAC
Cortex-M0
手机版
官方微博
微信公众号
登录
|
免费注册
首页
新闻
新品
文章
下载
电路
问答
视频
职场
杂谈
会展
工具
博客
论坛
在线研讨会
技术频道:
单片机/处理器
FPGA
软件/编程
电源技术
模拟电子
PCB设计
测试测量
MEMS
系统设计
无源/分立器件
音频/视频/显示
应用频道:
消费电子
工业/测控
汽车电子
通信/网络
医疗电子
机器人
当前位置:
EEChina首页
›
论坛
›
STM32 DIY
返回列表
查看:
2324
|
回复:
0
【开发教程8】ARM功能手机-定时器实验教程
[复制链接]
Linda-x
Linda-x
当前离线
积分
9771
发表于 2022-6-20 19:08:38
|
显示全部楼层
|
阅读模式
贸泽电子有奖问答视频,回答正确发放10元微信红包
关键词:
ARM
,
功能手机
,
定时器
,
实验教程
,
开发教程
定时器实验教程
——疯壳·开发板系列
图1
8
LED
硬件
电路
板子中有一个可控LED,接在DA14580的P24引脚,LED串联1K的限流
电阻
,如下图所示:
图2
第二节 Timer寄存器
2.1 Timer介绍
软件定时器模块包含两个定时器模块,它们可以通过软件控制、编程并用于各种任务。
2.1.1 Timer0
定时器0有16位的通用定时器;可以产生两路脉宽调制信号;可编程的输出频率;可编程的占空比;可编程的软件中断。
2.1.2 Timer2
定时器2有14位的通用定时器;可以产生3路脉宽调制信号;输入时钟频率为16MHz;可编程的输入频率;占空比可调;用于白色LED的亮度控制。
2.2 寄存器介绍
2.2.1 定时器0控制寄存器
图3
15:4位:保留不使用;
3位:
PWM
模式选择,’0’表示PWM信号为高时输出’1’,’1’表示PWM信号为高时输出快时钟信号的二分频,则输出频率范围为1~8MHz;
2位:定时器0的时钟分频,为’1’使用选择的时钟源频率,为’0’使用选择的时钟源进行10分频,注意这个值适用于计数寄存器;
1位:时钟源选择,’1’使用快时钟(16、8、4、2MHz),’0’使用慢时钟(32KHz);
0位:定时器0控制位,’0’表示定时器0关闭并处于复位状态,’1’定时器0运行。
2.2.2 定时器0计数控制寄存器
图4
定时器0计数重新装载值,如果读取该寄存器则返回当前计数器的值。
2.2.3 定时器0高电平重新装载值
图5
定时器0高电平重新装载值,如果读取该寄存器则返回定时器0的计数值。
2.2.4 定时器0低电平重新装载值
图6
定时器0低电平重新装载值,如果读取该寄存器则返回定时器0的计数值。
2.2.5 PWM2占空比
图7
PWM2信号的占空比。
2.2.6 PWM3占空比
图8
PWM3信号的占空比。
2.2.7 PWM4占空比
图9
PWM4信号的占空比。
2.2.8 PWM2,3,4的频率
图10
PWM2、3、4信号的频率,三个信号频率相同。
2.2.9 PWM2,3,4控制寄存器
图11
2位:硬件暂停使能,为’1’则硬件可以停止PWM2、3、4。
1位:软件暂停使能,为’1’则PWM2、3、4暂停。
0位:PWM信号使能,为’1’则PWM2、3、4使能。
2.3 寄存器配置讲解
#define CLK_PER_REG (* ( volatile uint16*)0x50000004)
#define TIMER0_CTRL_REG (* ( volatile uint16*)0x50003400)
#define TIMER0_ON_REG (* ( volatile uint16*)0x50003402)
#define TIMER0_RELOAD_M_REG (* ( volatile uint16*)0x50003404)
#define TIMER0_RELOAD_N_REG (* ( volatile uint16*)0x50003406)
#define PWM2_DUTY_CYCLE (* ( volatile uint16*)0x50003408)
#define PWM3_DUTY_CYCLE (* ( volatile uint16*)0x5000340A)
#define PWM4_DUTY_CYCLE (* ( volatile uint16*)0x5000340C)
#define TRIPLE_PWM_FREQUENCY (* ( volatile uint16*)0x5000340E)
#define TRIPLE_PWM_CTRL_REG (* ( volatile uint16*)0x50003410)
启动Timer0模块的时钟:CLK_PER_REG |= 0x0008;
定时器0初始化,选择高频时钟,正常PWM模式,无分频,则TIMER0_CTRL_REG = 0X0E;
设置计数值为1000,高电平为500,低电平为200,则TIMER0_ON_REG=1000; TIMER0_RELOAD_M_REG=500; TIMER0_RELOAD_N_REG=200;
开定时器中断NVIC_SetPriority (SWTIM_IRQn, 254); NVIC_EnableIRQ(SWTIM_IRQn);
启动定时器TIMER0_CTRL_REG = (TIMER0_CTRL_REG|0x01);
第三节 定时器实验
实验需要使用的模块有:手机开发板底板,Jlink调试工具,杜邦线、3.7V锂电池或Mocro
USB
线。
使用JLINK通过杜邦线连接手机
蓝牙
位于手机主控底板,连接方式如下:
(1)JLINK一端只需要使用杜邦线连接JLINK的SWC、SWD、GND三个引脚,如下图所示:
图12
(2)手机蓝牙一端需要使用杜邦线连接上方右侧的J3三个引脚,与JLINK的连接引脚一一对应,分别为SWC-->SWCLK、SWD-->SWDIO、GND-->GND,如下图所示:
图13
将JLINK插上电脑的USB接口,连接好之后给手机主控底板供电,详细的介绍可以参考《如何上电》教程,路径为:..\WT_Mobile\0.从这里开始\0.开机测试。
打开定时器实验的
Keil
工程timer0_general.uvproj,位于目录:
..\WT_Mobile\1.初级教程\DA14580\3_初级_定时器\projects\target_apps\peripheral_examples\timer0\timer0_general\Keil_5。如下图所示:
图14
使用手环调试下载线连接好Jlink,编译,点击DEBUG,然后点击全速运行,则可以看到蓝色LED闪烁,如下图所示:
图15
配套资料::http://www.fengke.club
套件地址:http://shop115904315.taobao.com/
文件下载请点击:
Timer教程.pdf
(750.77 KB)
2022-6-20 19:07 上传
点击文件名下载附件
相关文章
•
Cadence宣布收购Arm Artisan基础IP业务,强化半导体设计IP组合
•
5分钟详解定时器/计数器E和波形扩展!
•
高通在全球范围内指控 Arm垄断反竞争,芯片架构授权模式面临重构
•
马来西亚与Arm达成十年技术授权协议,推动半导体产业升级
•
Arm 推出全球首个 Armv9 边缘 AI 计算平台,推动物联网实现新一代性能
•
Arm 推出 GitHub Copilot 新扩展程序,助力快速迁移至 Arm 架构服务器
•
明远智睿全志R16核心模组:低成本高性能,解锁你的无限创意!
•
ARM公布2025财年第三财季财报,业绩表现亮眼
•
Arm 发布芯粒系统架构首个公开规范,加速芯片技术演进
•
英伟达携手联发科,将于今年年末推出首款专为Windows on Arm设备设计的系统级芯片(SoC)
回复
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
汽车电子
供求发布
关于我们
-
服务条款
-
使用指南
-
站点地图
-
友情链接
-
联系我们
电子工程网
© 版权所有
京ICP备16069177号
| 京公网安备11010502021702
快速回复
返回顶部
返回列表