C_Sharp 板


LINE

小弟寫了一個用232傳輸資料的程式 想利用timer達到定時發送資料的功能(如每隔兩秒發送一次) 發送程式 { if (timer1.Enabled==false) { string s1 = "\x02" + Convert.ToString(A_kg) + "\x0d" + "\x0a"; serialport.Write(s1); timer1.Enabled=true;//開啟計時器 } } private void timer1_Tick(object sender, EventArgs e) { counter++ if (counter==3)//三秒 { timer1.Enabled=false;關閉計時器 } } 可是卻沒辦法正常啟動 似乎計時器無法觸發 想問問要怎麼改才能照所需的功能執行 新手一枚 請大家多多指教<(_ _)> --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 39.12.111.196
1F:→ totte:您是指timer1.Start(); ?? 01/04 12:47
恩 我是用VS2008 c# 想知道要怎麼在發送資料的執行緒插入一個TIMER(時間)達到定時發送的功能 剛接觸C# 想問問要怎麼寫才正確>"< ※ 編輯: chris70211 來自: 27.246.57.225 (01/04 13:25)
2F:→ hoihkj:counter有歸零? 01/04 14:21
3F:→ rainbow001:timer不用關閉,應該要一直計數.. 01/04 15:59
4F:→ rainbow001:另外在你的發送端程式,加個判斷式 01/04 16:00
5F:→ rainbow001:if(counter%2==0) {...} 01/04 16:01
6F:→ ssccg:兩秒一次就timer1.Interval = 2000 就好 01/04 17:51
7F:→ ssccg:要定時做的動作是寫在timer1_Tick裡 01/04 17:55
8F:→ tsczx:如果是寫Service觸發不是寫在Tick,另外預設值Enabled有開? 01/06 18:39
由於在發送資料之前有利用usb將資料接收並運算 如果將發送資料的動作寫在Tick裡 由於我是用Tick.Emabled=true 但這樣好像不會正確的轉進Tick裡動作 因為動作需求 是利用一個button進行資料接收運算及發送 無法將發送資料的動作寫在另一個BUTTON PS.小弟真的是新手一枚 有什麼觀念不清的地方 請大家多多見諒!! 也感謝大家的回覆 <(_ _)> ※ 編輯: chris70211 來自: 39.10.231.185 (01/07 08:39)
9F:→ tsczx:我不是很看得懂你的問題跟需求,可以寫清楚點,試著跑debug看 01/07 22:42
剛接觸c#兩三個禮拜而已 之前主要是用matlab再寫程式 所以一些物件導向 執行緒的觀念都不是很清楚 (還在努力中) 只是有鑑於時間的緊迫性沒辦法慢慢學 只好先從看別人的code 改code著手 目前的程式是用usb接收資料 然後根據時間設定來發送資料(232) 而主要的動作都寫在接收資料的BUTTON內 所以不知道要怎麼樣將接收資料的BUTTON與 計時器的BUTTON做結合 至於將主動做寫在計時器這一點目前還在思考怎麼做 不知道能不能寫成像下面這樣: BUTTON1~主要動作 { 接收資料 232發送命令同時進行計時&設定時間(例如三秒) 到達設定時間(三秒) 將第三秒擷取到的這筆資料再透過232發送出去 } BUTTON2~計時 { count++ if (count==3){關閉計時器} } 接收資料的部分不需要跟計時器同步動作(應該沒辦法吧) 之前試著用 timer.enable=true或false 不過似乎沒辦法觸發 所以想了解應該怎麼寫才能達到我的動作需求 如果有什麼觀念錯誤 請體諒原PO還是個學不到一個月的菜鳥吧Q__Q ※ 編輯: chris70211 來自: 114.38.114.90 (01/07 23:57)
10F:→ ssccg:timer是每過一段時間(timer.Interval)做同一件事 01/08 03:36
11F:→ ssccg:你需要的等一段時間後做一次事情,應該用Thread.Sleep(3000) 01/08 03:39
12F:→ ssccg:你還是先講清楚你是要定時"每"x秒發一次 01/08 03:44
13F:→ ssccg:還是按按鈕後,發送命令→等x秒→發送命令→結束 01/08 03:44
14F:→ hoihkj:有沒完整專案檔可提供下載? 01/08 07:40
S大 如你所說是按完按鈕後發送命令->等x秒->接收usb 資料->發送下一個命令 保持這個迴圈 秒數設定的部分會放在陣列 如果是這樣的動作的話是否用 Thread Sleep即可? H大我是抓網路上的generic_hid_cs這是檔名 可是我忘記在哪抓得了>"< 如果你有需要 http://www.lvr.com/usbcode.htm 這個對你應該有用 ※ 編輯: chris70211 來自: 39.12.23.249 (01/08 08:42)
15F:→ hoihkj:XD HID 我只是想解你的timer問題 不是很確定 若只是要收到 01/08 09:03
16F:→ hoihkj:資料後delay3S送232寫在同個button1應該可以達到阿 01/08 09:04
17F:→ hoihkj:btn1>收usb>delay3s>送232 這樣嗎? 01/08 09:10
18F:→ hoihkj:要loop就給for迴圈或timer內call button1 01/08 09:16
19F:→ hoihkj:for UI可能會卡住 用timer也許比較理想 01/08 09:16
20F:→ tsczx:等X秒後再做動作,是用Sleep,想要按下去"每"兩秒抓一次用 01/08 11:16
21F:→ tsczx:Timer,而且我有點困惑,你要先等待兩秒,再去抓,那Timer設長一 01/08 11:23
22F:→ tsczx:比較好,Sleep兩秒>>每兩秒執行Timer,會只有第一次Sleep兩秒 01/08 11:25







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP