[問題] 寫入值與原始值相同該如何處理較佳
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
假設我有一個防呆的機制是一個 1byte counter
他大部分的時間都為0 只有硬體發生錯誤時才會開始跳
錯誤檢測時會把它+1 若是訊號正確時會把他清成
錯誤檢測500ms有可能會發動一次 就是說每1秒有1~2次會改成1及清成0
但大部分的時候都再作0->0的動作 約1~25ms一次
我現在的寫法為: if(dbg) dbg = 0;
但如果直接把if拿掉對系統的負擔是不是會相對小很多
我的想法是 記憶體若那一塊是屬於低電位的
再write一次低電位等於不改變資料 也等於不作動
但是如果有if 是不是每次都要read一次 多餘的動作
我對硬體特性不太懂 還請各位高手解答 感謝
補充說明(Supplement):
當資料是0時 (dbg = 0;)
A_func()
{
if(dbg)
dbg = 0;
}
B_func()
{
dbg = 0;
}
A和B哪一個要用到的CPU效能較少?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.171.27.145
推
03/09 11:27, , 1F
03/09 11:27, 1F
→
03/09 11:44, , 2F
03/09 11:44, 2F
→
03/09 12:24, , 3F
03/09 12:24, 3F
→
03/09 12:24, , 4F
03/09 12:24, 4F
→
03/09 12:25, , 5F
03/09 12:25, 5F
→
03/09 12:26, , 6F
03/09 12:26, 6F
→
03/09 15:09, , 7F
03/09 15:09, 7F
→
03/09 19:49, , 8F
03/09 19:49, 8F
→
03/09 19:58, , 9F
03/09 19:58, 9F
→
03/09 21:30, , 10F
03/09 21:30, 10F
推
03/09 23:00, , 11F
03/09 23:00, 11F