維他命c(diǎn)
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 43 個
工控威望: 145 點(diǎn)
下載積分: 772 分
在線時間: 42(小時)
注冊時間: 2017-08-26
最后登錄: 2024-12-31
查看維他命c(diǎn)的 主題 / 回貼
樓主  發(fā)表于: 2021-09-04 13:35
計(jì)時器的計(jì)時時間T#XXXms的數(shù)據(jù)怎樣提取成X天X時X分X秒X毫秒,比如計(jì)時器的計(jì)時時間T#20D23H55M55S200MS,怎樣將20天,23小時,55分,55秒,200MS單獨(dú)提取出來?
mmtcyq
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 9 個
工控威望: 99 點(diǎn)
下載積分: 608 分
在線時間: 6(小時)
注冊時間: 2016-08-04
最后登錄: 2023-03-15
查看mmtcyq的 主題 / 回貼
1樓  發(fā)表于: 2021-09-04 21:03
一、如果是200SMART:
1、可以使用BGN_ITIME和CAL_ITIME分別讀取開始時刻和結(jié)束時刻的時間值,來代替計(jì)時器指令,計(jì)算出來的時間差是整數(shù)值;
2、再使用時鐘庫指令SET_RTC_I將這個時間差寫入RTC,再立即用READ_RTC指令讀取RTC,就讀出日期/時間格式了。

二、如果已經(jīng)有了整數(shù)型的時間值,執(zhí)行第二步就行了。

三、如果已經(jīng)有了日期/時間格式的計(jì)時值,直接按照存儲順序讀取就可以了,注意:這個值的格式是BYTE的BCD格式。
這樣處理的時間精度可能不高,在秒級。
[ 此帖被mmtcyq在2021-09-04 21:10重新編輯 ]