嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > 不用手动编程!AI帮你轻松实现单片机按键输入功能

不用手动编程!AI帮你轻松实现单片机按键输入功能

关注+星标 不错过任何一次推送!


从今年年初,OpenAI发布的ChatGPT以摧古拉朽之势席卷全球,短短两个月注册用户数就超过1亿人,是全世界增长速度最快的应用。很多人都说今年是AI元年,其实也是有一定道理的,之前的AI门槛相对较高,很多人没有机会参与其中,现在门槛几乎降到了零,普通人也可以参与到AI的浪潮中,作为一名嵌入式er,当然也要来试用一下,看看AI有多神奇,到底能不能解放我们的双手呢!我准备了一块STM32F429IGT6的开发板,尝试让AI帮我实现按键输入功能,通过按键来控制不同的LED灯。话不多说,下面就开始让AI来帮我们编程吧。

1. 向AI提问

如何向AI提问非常关键,给出清晰明确详尽的Prompt,才能生成质量更高的结果,避免后续调bug的麻烦,下面是我向AI抛出的Prompt





给出Prompt后,AI开始输出:



一顿疯狂输出后,很快代码就编写完成了。初步看了一下,代码写得是真不错,但是能不能够实现功能,驱动起单片机的按键输入并按要求控制起LED灯呢?只有把代码拷贝到Keil中,编译下载到开发板中,验证一下才能知道答案了。

2. 拷贝代码

这里使用了STM32CubeMX搭建的基于HAL库的工程模板,因此拷贝代码时,需要有选择性的拷贝。比如HAL库初始化函数、系统时钟配置函数,这些函数在搭建工程时,已经由STM32CubeMX自动生成了,所以无需重复拷贝⏩ 在工程中添加key.h文件,将AI生成的按键相关宏定义代码拷贝到文件中

⏩ 在工程中添加key.c文件,将AI生成的按键初始化代码和按键扫描代码拷贝到文件中

⏩ 向main.c文件中,拷贝LED驱动相关的代码

⏩ 将按键控制LED灯的代码,拷贝至主函数while循环中

编译通过,没有任何报错,先给AI点个赞!

3. 编译运行

最终的考验来了!将编译好的代码下载到开发板中。重启开发板后,按键被成功的驱动起来了,能够按照描述的不同要求控制LED的组合亮灭,还带按键防抖,相当的丝滑。看下面的视频

至此,通过AI生成代码,再结合ctrl+c和ctrl+v,完全不用手动编程,AI就帮我们轻松实现了单片机按键输入功能,牛!


往期推荐

● 

● 

● 

● 

● 

● 

● 

● 

扫二维码|关注我们

微信号|andyxi_linux

专注于嵌入式开发技术

分享、在看与点赞

只要你点,我们就是胖友