专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
LPC1114 定时器初值计算?
2019-03-25 20:35
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
NXP MCU
7211
2
1426
那位大哥知道LPC1114 定时器32初值计算是如何? 比如定时100ms,如何计算出定时器的初值啊? 此帖出自
小平头技术问答
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
常见泽1
1楼-- · 2019-03-25 21:24
_NXP LPC1000_
http://bbs.eeworld.com.cn/thread-103593-3-2.html
LPC1343是相通的
周立功翻译的里面应该有简单介绍的
加载中...
zhaojun_xf
2楼-- · 2019-03-26 01:26
/**************************************************************************************
* FunctionName : Timer32Init()
* Description : 初始化定时器
* EntryParameter : timerNum - 定时器选择;nMs - 时间间隔ms
* ReturnValue : None
**************************************************************************************/
void Timer32Init(uint8 timerNum, uint32 nMs)
{
if (timerNum == 0)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<9); // 使能AHB时钟到TIMER32B0域
LPC_TMR32B0->IR = 1; // MR0中断
LPC_TMR32B0->PR = 0; // 设置分频系数
LPC_TMR32B0->MCR = 3; // 设置MR0匹配后复位TC, 并产生中断
LPC_TMR32B0->MR0 = (SystemCoreClock/1000) * nMs; // 设置中断时间
NVIC_EnableIRQ(TIMER_32_0_IRQn); // Enable the TIMER0 Interrupt
Timer32Enable(0);
}
else
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<10); // 使能AHB时钟到TIMER32B1域
LPC_TMR32B1->IR = 1; // MR0中断
LPC_TMR32B1->PR = 0; // 设置分频系数
LPC_TMR32B1->MCR = 3; // 设置MR0匹配后复位TC, 并产生中断
LPC_TMR32B1->MR1 = (SystemCoreClock/1000) * nMs; // 设置中断时间
NVIC_EnableIRQ(TIMER_32_1_IRQn); // Enable the TIMER0 Interrupt
Timer32Enable(1);
}
}
复制代码
加载中...
一周热门
更多
>
相关问题
相关文章
IMX6UL定时器按键消抖实验
0个评论
IMX6UL 裸机C语言IO 输入中断编程
0个评论
Cortex-A7 IO 输入中断系统分析
0个评论
IMX6UL裸机实现C语言按键输入实验
0个评论
IMX6UL裸机实现C语言蜂鸣器实验
0个评论
通过结构体的方式来定义和使用寄存器地址
0个评论
IMX6UL裸机实现C语言LED点亮与闪烁
0个评论
I.MX6U处理器LED灯点亮汇编程序之命令行方式编译与链接
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
LPC1343是相通的
周立功翻译的里面应该有简单介绍的
- /**************************************************************************************
复制代码* FunctionName : Timer32Init()
* Description : 初始化定时器
* EntryParameter : timerNum - 定时器选择;nMs - 时间间隔ms
* ReturnValue : None
**************************************************************************************/
void Timer32Init(uint8 timerNum, uint32 nMs)
{
if (timerNum == 0)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<9); // 使能AHB时钟到TIMER32B0域
LPC_TMR32B0->IR = 1; // MR0中断
LPC_TMR32B0->PR = 0; // 设置分频系数
LPC_TMR32B0->MCR = 3; // 设置MR0匹配后复位TC, 并产生中断
LPC_TMR32B0->MR0 = (SystemCoreClock/1000) * nMs; // 设置中断时间
NVIC_EnableIRQ(TIMER_32_0_IRQn); // Enable the TIMER0 Interrupt
Timer32Enable(0);
}
else
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<10); // 使能AHB时钟到TIMER32B1域
LPC_TMR32B1->IR = 1; // MR0中断
LPC_TMR32B1->PR = 0; // 设置分频系数
LPC_TMR32B1->MCR = 3; // 设置MR0匹配后复位TC, 并产生中断
LPC_TMR32B1->MR1 = (SystemCoreClock/1000) * nMs; // 设置中断时间
NVIC_EnableIRQ(TIMER_32_1_IRQn); // Enable the TIMER0 Interrupt
Timer32Enable(1);
}
}
一周热门 更多>