当前位置:

Copilot人工智能在单片机嵌入式课程中的应用体验

发布日期:2023-12-02

Copilot人工智能在单片机嵌入式课程中的应用体验

时代的飞速发展使得AI在各个领域取得了难以想象的成绩。11月6日下午, 在C教四楼的软件实验室里,教师卫朝霞与学生钟明利为代表的学生团队,共同使用微软新一代AI聊天助手——Copilot,体验了AI在《单片机与嵌入式系统》课程中的应用。

当询问Copilot:“你能帮我写一段使用STM32G431RBlx芯片的流水灯代码吗?”时,Copilot给出了下面一段创造力型的代码(如图1):

图1 Copilot第一次回答

其中包含了STM32CubeMX生成的头文件和库函数;自定义的一个数组,用于存储控制LED灯的引脚;定义的一个延时函数,单位为毫秒;定义的一个流水灯函数,参数为流水灯的方向,0为从左到右,1为从右到左;逻辑清晰的主函数,结构非常简单。同时有非常详细的代码注释。

由此可见,AI越来越智能,在提问时甚至不用强调使用HAL库来写出代码,AI也已经能基于现在市面上所流行的方法做出回应(不确定是否是经历过使用者训练后得出的结果),当然,这些代码肯定是不能让对单片机一窍不通的人直接运行操作的,毕竟AI并不能一遍就能将引脚给标注正确,为了得到更加精确的答案,于是,我们再次询问了Copilot同样的问题。

但这一次,AI并没有给出十分准确的答案,可能是提的问题太过模糊,也可能是没有对AI进行训练,于是我们又进行了第三次提问:“能使用HAL库来编写这个代码吗?”,Copilot给出了如下回答(如图2):

图2 Copilot第三次回答

Copilot本次所给的代码已经十分精准,学生只需要根据自己的单片机测试板具体连接情况,修改灯对应的端口和引脚,就可以轻松实现流水灯功能,通过调试和测试的全过程。

当然,如果有看不懂的部分也可以让AI帮忙逐句解释。但截止到现在为止,无论是哪种AI所写的代码,都不能让一个一窍不通的人在单片机上运行成功,不过谁也不能保证拥有更多数据接受过更多训练之后的AI不会写出完全不用人类调试的代码。总之,对于普通的单片机嵌入式编程课程,现阶段的AI已经做到了帮助甚至是优化学生代码的程度,可以辅助教师提高教学效率和质量,帮助学生更好地掌握单片机编程技能。

教师:卫朝霞;学生:钟明利