如題,目前在ard_socket.c中的get_available內會提供一個while loop以確認socket的連線,但這會導致一但開啟等待之後,所有的動作都會等到有client連進來之後才會進行。
目前我的解法是直接拿掉while loop,由arduino的loop() method來處理,希望可以提供一個獨立的method讓我們自行polling client
如題,目前在ard_socket.c中的get_available內會提供一個while loop以確認socket的連線,但這會導致一但開啟等待之後,所有的動作都會等到有client連進來之後才會進行。
目前我的解法是直接拿掉while loop,由arduino的loop() method來處理,希望可以提供一個獨立的method讓我們自行polling client
@xidameng @wyy
雖然不是很恰當但我想在同一個thread上請教一個問題
根據規格,BW16上有另一個核心,雖然時脈很低,但如果拿來單純處理GPIO應該是夠的,也不用煩惱被socket block的問題,想知道另一個核心有辦法使用嗎?
Arduino 环境并不支持用小核心。想要大小核心一起用,建议使用 SDK。
nonblocking webservice 的建议会加入开发日程。也可以跳过 arduino socket 的 api,直接用 LwIP。
謝謝兩位的回覆,有點可惜Arduino不支援
因為我的用途基本上都還偏上層,直接從standard SDK或直接用LwIP感覺不太實際
所以我應該會選擇等nonblocking webservice的實作
在等的過程中,您也可以考慮使用RTOS創建一個新的thread來實現concurrent運行