• 正文
    • 1. 向AI提問(wèn)
    • 2. 拷貝代碼
    • 3. 編譯運(yùn)行
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

不用手動(dòng)編程!AI幫你輕松實(shí)現(xiàn)單片機(jī)按鍵輸入功能

2023/07/28
6238
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

從今年年初,OpenAI發(fā)布的ChatGPT以摧古拉朽之勢(shì)席卷全球,短短兩個(gè)月注冊(cè)用戶(hù)數(shù)就超過(guò)1億人,是全世界增長(zhǎng)速度最快的應(yīng)用。很多人都說(shuō)今年是AI元年,其實(shí)也是有一定道理的,之前的AI門(mén)檻相對(duì)較高,很多人沒(méi)有機(jī)會(huì)參與其中,現(xiàn)在門(mén)檻幾乎降到了零,普通人也可以參與到AI的浪潮中,作為一名嵌入式er,當(dāng)然也要來(lái)試用一下,看看AI有多神奇,到底能不能解放我們的雙手呢!我準(zhǔn)備了一塊STM32F429IGT6的開(kāi)發(fā)板,嘗試讓AI幫我實(shí)現(xiàn)按鍵輸入功能,通過(guò)按鍵來(lái)控制不同的LED燈。話不多說(shuō),下面就開(kāi)始讓AI來(lái)幫我們編程吧。

1. 向AI提問(wèn)

如何向AI提問(wèn)非常關(guān)鍵,給出清晰明確詳盡的Prompt,才能生成質(zhì)量更高的結(jié)果,避免后續(xù)調(diào)bug的麻煩,下面是我向AI拋出的Prompt

給出Prompt后,AI開(kāi)始輸出:

一頓瘋狂輸出后,很快代碼就編寫(xiě)完成了。初步看了一下,代碼寫(xiě)得是真不錯(cuò),但是能不能夠?qū)崿F(xiàn)功能,驅(qū)動(dòng)起單片機(jī)的按鍵輸入并按要求控制起LED燈呢?只有把代碼拷貝到Keil中,編譯下載到開(kāi)發(fā)板中,驗(yàn)證一下才能知道答案了。

2. 拷貝代碼

這里使用了STM32CubeMX搭建的基于HAL庫(kù)的工程模板,因此拷貝代碼時(shí),需要有選擇性的拷貝。比如HAL庫(kù)初始化函數(shù)、系統(tǒng)時(shí)鐘配置函數(shù),這些函數(shù)在搭建工程時(shí),已經(jīng)由STM32CubeMX自動(dòng)生成了,所以無(wú)需重復(fù)拷貝? 在工程中添加key.h文件,將AI生成的按鍵相關(guān)宏定義代碼拷貝到文件中

??在工程中添加key.c文件,將AI生成的按鍵初始化代碼和按鍵掃描代碼拷貝到文件中

? 向main.c文件中,拷貝LED驅(qū)動(dòng)相關(guān)的代碼

??將按鍵控制LED燈的代碼,拷貝至主函數(shù)while循環(huán)中

編譯通過(guò),沒(méi)有任何報(bào)錯(cuò),先給AI點(diǎn)個(gè)贊!

3. 編譯運(yùn)行

最終的考驗(yàn)來(lái)了!將編譯好的代碼下載到開(kāi)發(fā)板中。重啟開(kāi)發(fā)板后,按鍵被成功的驅(qū)動(dòng)起來(lái)了,能夠按照描述的不同要求控制LED的組合亮滅,還帶按鍵防抖,相當(dāng)?shù)慕z滑??聪旅娴囊曨l

至此,通過(guò)AI生成代碼,再結(jié)合ctrl+c和ctrl+v,完全不用手動(dòng)編程,AI就幫我們輕松實(shí)現(xiàn)了單片機(jī)按鍵輸入功能,牛!

 

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LTST-C191KRKT 1 Lite-On Semiconductor Corporation Single Color LED, Red, Water Clear, 1.1mm, GREEN, PLASTIC PACKAGE-2

ECAD模型

下載ECAD模型
$0.08 查看
74HC165D,653 1 Nexperia 74HC165; 74HCT165 - 8-bit parallel-in/serial out shift register@en-us SOP 16-Pin

ECAD模型

下載ECAD模型
$0.46 查看
CPC1017NTR 1 IXYS Corporation Transistor Output SSR, 1-Channel, 1500V Isolation, SOP-4
$0.62 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶(hù)資源
  • 寫(xiě)文章/發(fā)需求
立即登錄

公眾號(hào):嵌入式攻城獅;專(zhuān)注于分享和記錄嵌入式開(kāi)發(fā)技術(shù),主要包含C語(yǔ)言、STM32、STM32CubeMX、lwIP、FreeRTOS、Linux、Zigbee、WIFI、BLE、LoRa、NB-loT、PCB電路設(shè)計(jì)、QT等等。