2682|1

186

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

基于Hercules的踏板控制器DIY(六):定时器的使用 [复制链接]

http://www.deyisupport.com/quest ... s/f/70/t/25317.aspx
以上是我提的一个问题,需要一个定时器

之前我们使用的是NXP的LPC1114,IAR里面有比较好的示例,主程序中只要初始化一个硬件定时器,让其10mS一个中断,然后中断中会对一个全局变量加1,这个全局变量就是10mS的间隔数,主程序中多个定时器都是用这个来做基准的。

现在的问题是,hercules在IAR中关于定时器的例子非常晦涩,希望能够帮我们提供这个接口函数

之前LPC1114中

定时器部分我们只简单的写了这几行

#define TIMER32_0                0
#define TIMER32_0_INTERVAL        (SystemAHBFrequency/100 - 1)        //10mS
extern volatile uint32 timer32_0_counter;

static void driver_pedal_timer32_init()
{
        init_timer32(TIMER32_0, TIMER32_0_INTERVAL);
        enable_timer32(TIMER32_0);
}

初始化定时器0,设置中断间隔,然后就是开启定时器,就可以了。init_timer32和enable_timer32都是厂家提供好的,

我们需要的就是一个10mS的计数次数的全局变量,希望能够提供接口函数,附件为使用的hercules IAR工程。

希望能够把这个函数在blinkly示例中提供并编译通过,谢谢。 Hercules_IAR工程及问题描述.rar (1.82 MB, 下载次数: 6)

[ 本帖最后由 tziang 于 2013-7-31 13:44 编辑 ]
 
点赞 关注

回复
举报

186

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
TI工程师Ma, Lebo回复如下

Hercules MCU使用RTI(Real time interrupt)模块来产生定时中断。

配置办法:

1.       在HALCoGen中设置自己想要的时间间隔,这里设置成10ms



2.       在中断设置中把RTI的中断使能



3.       然后就可以生成代码了
4.       使用生成好的代码在IAR Embedded workbench中建立一个工程。

5.       在main函数中作如下操作:


其中第三步如果报错,那么可以尝试_enable_IRQ();,我不是很清楚IAR编译器对应的开中断语句是什么。

6.       打开notification.c源文件,找到rtiNotification()这个函数。
它里面加入你想要的累加操作即可,比如:


每次10ms中断来到时,这个rtiNotification都会被调用一次。可以尝试在里面打个断点来观察。


根据建议的步骤,在CCS中试验已经能够进入定时器中断,基本解决。
IAR试验时使用那个USBkit仿真,老是出问题,改用CCS了。

最后,再次感谢TI工程师非常专业,非常详尽的解答。







 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表