在线时间274 小时
UID354205
注册时间2015-2-13
NXP金币0
TA的每日心情 | 衰 2019-9-17 13:22 |
---|
签到天数: 238 天 连续签到: 1 天 [LV.7]常住居民III
金牌会员
 
- 积分
- 2251
- 最后登录
- 2024-10-8
|

楼主 |
发表于 2016-1-7 14:27:25
|
显示全部楼层
感谢FAE的回答,这几天没空上论坛,将我的解决方案公布。
1 设置两个回调函数的周期
#define HWTIMER2_PERIOD 10000
#define HWTIMER1_PERIOD 320
2.定义两个回调函数的定义
void hwtimer1_callback(pointer p)
{
lwgpio_set_pin_output(BSP_PTE24,LWGPIO_VALUE_HIGH);
}
void hwtimer2_callback(pointer p)
{
lwgpio_set_pin_output(BSP_PTE24,LWGPIO_VALUE_LOW);
hwtimer_set_period(&hwtimer1, BSP_HWTIMER1_SOURCE_CLK, HWTIMER1_PERIOD);
hwtimer_callback_reg(&hwtimer1,(HWTIMER_CALLBACK_FPTR)hwtimer1_callback, NULL);
/* Waiting for semaphore from callback routine */
hwtimer_start(&hwtimer1);
_lwsem_wait(&job_done);
/* Deinitialization of hwtimers */
_lwsem_destroy(&job_done);
}
3.主TASK调用hwtimer_callback_reg(&hwtimer2,即可。
先前我只是试了一下,看过FAE的答复,明白了HWTIMER1与HWTIMER2的精度要求是不同的,FAE能否再解释下low power timer,lpt_devif.pit_devif.这三者的精度范围呢。
|
|