Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3356|回復: 4
打印 上一主題 下一主題

程式碼求救,數值不會歸0

[複製鏈接]
1#
發表於 2016-3-19 19:58:06 | 顯示全部樓層
本帖最後由 超新手 於 2016-3-19 20:11 編輯

當然不會歸零, 因為你程式就是這樣寫的
如果沒看錯的話
noise 是指從開機以來
所讀到的amps 的最大值, 減去所讀到的amps 最小值
一旦沒輸入, "通常"它的差值不會比有輸入的小
更別說等於0了
你可以在沒輸入時, 在序列埠監控視窗的最上面
隨便打個字(如a), 再按傳送去重置它
應該就可得到接近0的值了
2#
發表於 2016-3-20 15:51:52 | 顯示全部樓層
本帖最後由 超新手 於 2016-3-21 10:44 編輯

>> 理論上如果最大跟最小都=0 的話 電流應該=0
電流是 0 沒錯, 但一定小於有正弦波的電流值(不可能有比 0 小的正值了吧?)
所以顯示出來的一定是原來的值
你的程式是顯示 "曾經發生過的最大電流值"
而不是目前的電流值

可以改成
在LOOP中只要執行的時間超過正弦波的週期
(建議至少2個週期)
就執行清除的動作, 如下
static int time;
if(++time >= 40)
{time = 0;
maxAmps = amps;
minAmps = amps;
}


40 是我亂寫的, 值要填多才少, 只有你知道
還有, 你的 lastAmps 沒給初始值, 程式會有點問題
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-6-1 10:57 , Processed in 0.090591 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表