2023年4月11日 星期二

[ChatGPT] 最近的 Arduino 連接一個 RS485 轉換器遇到多餘的 Leading bytes 問題, 想說來用 ChatGPT 解解看好了

 最近放在工廠端的 IoT 設備遇到一些問題, 從類比轉數位並透過 RS485 protocol 傳回來的 payload, 多了 6 個 0xFF 的 leading, bytes, 但程式碼架構已經七年沒改過了, 不想針對這問題牽扯到大部分函式, 剛好最近 ChatGPT 那麼紅, 那就來問問它吧

首先 我先請他 幫我寫一段 arduino code 移除一個 byte 陣列的前面六個 0xFF 的 bytes


寫得還蠻不錯的其實就透過偵測到非 0xFF 的 byte, 就把陣列在 copy 一次
再來我請他優化一下程式碼 不喜歡看到那麼長的一堆code.

再逼它優化一下


咦還蠻精簡的, 幫忙弄個 macro 吧,我是個很懶惰的人

強! 但我想要再精簡程式碼的行數 又要能看得懂

到這版本其實已經可以接受了, 我只要插個幾行, 跑個幾天測試看看, 
但無聊的我, 再問他有沒有更極簡版本的, 於是乎 如下圖

還是能產生出來...但最後沒有用這版本... 還蠻節省時間的