11-ESP8266 SDK開發基礎入門篇--軟硬件定時器

http://www.javashuo.com/article/p-vgkgdsja-x.htmlhtml

定時器有兩種,軟件定時器和硬件定時器函數

軟件定時器就是靠裏面的任務延時實現的,,這樣的定時器其實延時不許確測試

硬件定時器 就是硬件中判定時器,咱都學過單片機,中斷的準確spa

 

先看軟件定時器指針

 

 具體你們看下面code

因此第一步,定義一個定時器變量htm

能夠看這個文件,咱就是用這個頭文件blog

 

 

 os_timer_t os_timer_one;//定義一個全局的定時器結構體變量get

 

 

 

 

 

先看帶參數的iframe

 

 

 

void *XXX   就是說能夠接收任意的指針變量

 

//定義一個定時器用的回調函數
void os_timer_one_function(void *parg)
{
    printf("parg:%s\n", parg);//打印一下傳過來的參數
    GPIO_OUTPUT_SET(5, 1-GPIO_INPUT_GET(5));//GPIO5輸出 反轉
}

 

 

os_timer_setfn(&os_timer_one,os_timer_one_function,"yang");//配置定時器          定時器結構體變量         回調函數                   傳給回調函數的參數
    os_timer_arm(&os_timer_one,500,1);//使能定時器    os_timer_one--定時器變量    500--500ms進一次       1--循環進去

 

 下載進去

500ms亮   500ms滅

 

 

其實這個參數是

os_timer_setfn(&os_timer_one,os_timer_one_function,"yang");
這個時候傳過去的,只傳這一次,只不過,局部變量的值設置了是yang 後期進中斷的時候都沒有去設置這個參數

 

 

 

不帶參數就不說了哈

你們本身測試,報不報錯就看官方底層怎麼寫的了

 

 

 

 如今看硬件中判定時器

 

 

 

 

 

 

 

 

而後...官方給了例子

 

 

咱就稍微改改回調函數裏面的

 

 

 

 

 

 程序掛了......不能夠運行了,老是=重啓

 

而後我把

 

 程序又好了

我感受這個定時器是us級的定時器

1000  才1ms

1ms進一次執行  printf    printf還沒執行完  中斷又到了     因此程序崩了

 

 

u32 cnt = 0;
void hw_test_timer_cb(void)
{
    cnt++;
    if(cnt>1000)
    {
        cnt=0;
        printf("1111111111111:%s\n");//打印
    }
}

 

 

 

 

 

 

 

 忘了..我後面怎麼加了個%s  忘了去掉了

 

 

 

 

 http://www.javashuo.com/article/p-tgkajzhu-cg.html

相關文章
相關標籤/搜索