ASM 板


LINE

看板 ASM  RSS
  網路上的各位先進您好:   我試著用 Arduino UNO R3 來當計數器,當一個信號進來時, 他在板子上的 5V 與 D13 形成通路,這樣子一來,我可以藉由 板子上的 LED 燈來判斷是否有信號過來。   我想請教的是:當進來的頻率不高時,他能夠順利建立網路連線, 把值拋給 Server 上的資料庫,以利我用網頁來監控。可是當我的頻率 高到約略一秒十次左右時,他的網路連線建立就被迫中斷,也因為這樣子, 我無法把值即時拋給 Server,也就無法達到當初要即時監的目的。 請問,我該如何來進行,才能避掉這個問題呢? 還望您能撥冗不吝告知,謝謝您。 程式與資料庫是參加崑山科大的產業人才投資計中畫的 物聯網智慧之魚菜共生遠端控制系統的內容而來。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.235.67
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1528508655.A.63C.html
1F:→ cs8425: 會不會是你中斷的code跑太久? 問這類的問題最好附上完整程 06/09 16:42
承蒙回答,不勝感激。 這邊是我的程式碼,因為功能簡單,相對應的程式也很簡單 #include <SPI.h> #include <Ethernet.h> byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; IPAddress ip(192,168,101,101); EthernetServer server(80); EthernetClient client; char SFDserver[] = "192.168.0.81"; unsigned long lastConnectionTime = 0; boolean lastConnected = false; const unsigned long postingInterval = 5*1000; const int SFD05 = 13; static unsigned long countValue = 0; // 計數器數值 static unsigned long lastCountValue = 0; // 上次計數器數值 unsigned long lastCountTime = 0; // 計數器數時間 int SFD05Status=0; int SFD05LastStatus=0; boolean realCount = false; String sSFD05Count; const String sSFDNo="F27B_A"; void setup() { // put your setup code here, to run once: Serial.begin(9600); delay(1000); Ethernet.begin(mac,ip); server.begin(); Serial.print("My IP Address: "); Serial.println(Ethernet.localIP()); } void loop() { if(client.available()) { char c = client.read(); Serial.write(c); } // 失去連線 if(!client.connected() && lastConnected) { Serial.println(); Serial.println("disconnecting"); client.stop(); } // 當目前沒有連線且距離上次連線已有 5 秒鐘,重新連線 if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) { if (countValue != lastCountValue) { httpRequest(); lastCountValue = countValue; } } lastConnected = client.connected(); countRequest(); } void httpRequest() { if(client.connect(SFDserver,80)) { Serial.println("connecting..."); //請求連線標頭檔 client.print("GET /SFD/u1.php?type=sensor&"+sSFDNo+"="); client.print(countValue); client.println(" HTTP/1.1"); client.println("Host:192.168.0.190"); client.println("User-Agent:arduino-ethernet"); client.println("Connection:close"); client.println(); lastConnectionTime = millis(); } //http://192.168.0.81/SFD/u1.php?type=sensor&F27B_A=4489 else { Serial.println("connection failed"); Serial.println("disconnecting"); client.stop(); } } void countRequest() { SFD05Status = digitalRead(SFD05); if((SFD05Status == 0) && (SFD05LastStatus == 1) ) { countValue++; /*Serial.print("SFD05 Count Value: "); Serial.println(countValue); //lastCountTime= millis(); */ } SFD05LastStatus = SFD05Status; delay(1); } 在輸入不頻繁的情況下,可以正常運作, 可惜在較頻繁狀態下,網路就無法順利對外作溝通了。 麻煩您了,感恩。 ※ 編輯: sinzen (59.125.235.67), 06/10/2018 21:01:01
2F:→ smtmike: 解開了嗎?如尚未站內信 08/06 06:25
  感恩您的回覆,後來我把問題請我同事處理。 他有解決了,雖然不清楚是怎麼回事。   謝謝您。 ※ 編輯: sinzen (59.125.235.67), 08/27/2018 16:56:57







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燈, 水草

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

TOP