從今年年初,OpenAI發(fā)布的ChatGPT以摧古拉朽之勢席卷全球,短短兩個月注冊用戶數(shù)就超過1億人,是全世界增長速度最快的應用。很多人都說今年是AI元年,其實也是有一定道理的,之前的AI門檻相對較高,很多人沒有機會參與其中,現(xiàn)在門檻幾乎降到了零,普通人也可以參與到AI的浪潮中,作為一名嵌入式er,當然也要來試用一下,看看AI有多神奇,到底能不能解放我們的雙手呢!我準備了一塊STM32F429IGT6的開發(fā)板,嘗試讓AI幫我實現(xiàn)按鍵輸入功能,通過按鍵來控制不同的LED燈。話不多說,下面就開始讓AI來幫我們編程吧。
1. 向AI提問
如何向AI提問非常關鍵,給出清晰明確詳盡的Prompt,才能生成質(zhì)量更高的結果,避免后續(xù)調(diào)bug的麻煩,下面是我向AI拋出的Prompt
給出Prompt后,AI開始輸出:
一頓瘋狂輸出后,很快代碼就編寫完成了。初步看了一下,代碼寫得是真不錯,但是能不能夠?qū)崿F(xiàn)功能,驅(qū)動起單片機的按鍵輸入并按要求控制起LED燈呢?只有把代碼拷貝到Keil中,編譯下載到開發(fā)板中,驗證一下才能知道答案了。
2. 拷貝代碼
這里使用了STM32CubeMX搭建的基于HAL庫的工程模板,因此拷貝代碼時,需要有選擇性的拷貝。比如HAL庫初始化函數(shù)、系統(tǒng)時鐘配置函數(shù),這些函數(shù)在搭建工程時,已經(jīng)由STM32CubeMX自動生成了,所以無需重復拷貝? 在工程中添加key.h文件,將AI生成的按鍵相關宏定義代碼拷貝到文件中
??在工程中添加key.c文件,將AI生成的按鍵初始化代碼和按鍵掃描代碼拷貝到文件中
? 向main.c文件中,拷貝LED驅(qū)動相關的代碼
??將按鍵控制LED燈的代碼,拷貝至主函數(shù)while循環(huán)中
編譯通過,沒有任何報錯,先給AI點個贊!
3. 編譯運行
最終的考驗來了!將編譯好的代碼下載到開發(fā)板中。重啟開發(fā)板后,按鍵被成功的驅(qū)動起來了,能夠按照描述的不同要求控制LED的組合亮滅,還帶按鍵防抖,相當?shù)慕z滑。看下面的視頻
至此,通過AI生成代碼,再結合ctrl+c和ctrl+v,完全不用手動編程,AI就幫我們輕松實現(xiàn)了單片機按鍵輸入功能,牛!