• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: SAMD21 Harmony3 system Time
#5
新會員
新會員


查看用戶資訊
Hi Libra,

感謝!!

發表於: 2021/9/16 18:56
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: SAMD21 Harmony3 system Time
#4
管理員
管理員


查看用戶資訊
有喔! MHC中有設定 Time System Service的 "Number of Client",
預設是 5 個, 最大可以設到 50個!
有些 Driver 或是 Middleware 也會用到 Time System Service,
這些也算在裡面, 所以要抓一個剛剛好的最大使用量,
直接設很大會浪費記憶體
縮圖

Attach file:



jpg  TimerSystemService_maxclient.jpg (24.17 KB)
67979_6142c981d4121.jpg 362X115 px

發表於: 2021/9/16 12:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: SAMD21 Harmony3 system Time
#3
新會員
新會員


查看用戶資訊
Hi Libra,

感謝你的回覆,有解惑到.
那延伸的問題是,這樣設計有數量上的限制嗎?

發表於: 2021/9/16 10:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: SAMD21 Harmony3 system Time
#2
管理員
管理員


查看用戶資訊
System Timer有兩種操作模式, 我們以
LED1 一秒閃一次不斷重複 與
LED2 500ms後閃一下就停止 的範例來看

Delay Based :
SYS_TIME_HANDLE tmrHandle1// 這只是 Timer Handle 1 的容器
SYS_TIME_HANDLE tmrHandle2// 這只是 Timer Handle 2 的容器
// Delay函式可以給他不同的 Timer Handle 容器
// 在呼叫 Delay時, 會Create(建立)各自的 Timer Handle 並放進給他的容器
// Delay函式一律使用 SYS_TIME_SINGLE 建立一次性 Timer
SYS_TIME_DelayMS(1000, &tmrHandle1); 
SYS_TIME_DelayMS(  500, &tmrHandle2); 
while( 

{
    
// 需要自己判斷哪一個 Timer Handle 是否完成?
    
if( SYS_TIME_DelayIsComplete(tmrHandle1) == true )
    {
        
// 如果Delay完成時, Timer Handle 1 會被 Destroy(消滅)
        
LED1_Toggle();
        
// 因為是 SYS_TIME_SINGLE 建立一次性 Timer,
        // 因此需要自己安排下一次的Delay, 並再次Create Timer Handle1
        
SYS_TIME_DelayMS(1000, &tmrHandle1);
    }

    if( 
SYS_TIME_DelayIsComplete(tmrHandle2) == true )
    {
        
// 如果Delay完成時, Timer Handle 2 會被 Destroy(消滅)
        // 因為不安排下一次的Delay, 就不會再次進來
        
LED2_Toggle();
    }
}


Callback Based :
// 由於是 PERIODIC, 所以Callback完就會 保留 Timer Handle, 繼續下一次
void LED1Callback(uintptr_t context) { LED1_Toggle(); }

// 由於是 SINGLE, 所以Callback完就會 消滅(Destory) Timer Handle
void LED2Callback(uintptr_t context) { LED2_Toggle(); } 

// 在註冊Callback時, 會自動幫你準備一個 Timer Handle容器(名稱自動編號)
// 並同時 Create(建立) Timer Handle , Delay完成時會呼叫對應的 Callback
SYS_TIME_CallbackRegisterMS(LED1Callback01000SYS_TIME_PERIODIC);
SYS_TIME_CallbackRegisterMS(LED2Callback0,   500SYS_TIME_SINGLE);

while(
1);

發表於: 2021/9/16 8:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


SAMD21 Harmony3 system Time
#1
新會員
新會員


查看用戶資訊
Hi 大家:

在Harmony 設定system service TIME之後,SYS_TIME_CallbackRegisterMS 可以使用數個.
想請問一下SYS_TIME_HANDLE tmrHandle可以設定多個嗎?

SYS_TIME_HANDLE tmrHandle;
....
SYS_TIME_CallbackRegisterMS(TimeCallback1, 0,100, SYS_TIME_PERIODIC);
SYS_TIME_CallbackRegisterMS(TimeCallback2, 0,300, SYS_TIME_PERIODIC);
. ...
while ( true )
{
if( SYS_TIME_DelayIsComplete(tmrHandle) == true ){
tm_1ms++;
SYS_TIME_DelayMS(1, &tmrHandle);
}

發表於: 2021/9/15 21:07
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------