[RTT 루틴 연습]4.4 타이머 제어

1269 단어 RT-Thread
타이머
여기 서 처음에 정시 주 기 는 100 이 고 프로그램 에서 사용 합 니 다.
4.567913.정시 주기 가 미리 설 정 된 것 과 같은 지 확인 합 니 다.8 회 이후 사용rt_timer_control(),정시 주 기 를 3 천 으로 바꾼다.실제 효 과 는 인쇄 된 tick 정보 와 직관 적 인 느낌 을 통 해 모두 검증 할 수 있다.
프로그램:
rt_tick_get()-tick

결과:
#include 

static rt_timer_t timer1;
//static rt_timer_t timer2;
static rt_uint8_t count;
static rt_tick_t tick;

static void timeout1(void* parameter)
{
    rt_tick_t timeout = 3000;
    rt_kprintf("periodic timer is timeout
"); rt_kprintf("the time set is %d
", (rt_tick_get()-tick)); tick = rt_tick_get(); count ++; if (count >= 8) { rt_timer_control(timer1, RT_TIMER_CTRL_SET_ONESHOT, (void *)&timeout); rt_timer_control(timer1, RT_TIMER_CTRL_SET_TIME, (void *)&timeout); count = 0; } } int rt_application_init() { timer1 = rt_timer_create("timer1", timeout1, RT_NULL, 100, RT_TIMER_FLAG_PERIODIC); if (timer1 != RT_NULL) rt_timer_start(timer1); return 0; }

좋은 웹페이지 즐겨찾기