APP下载

Arduino安全递归调用

2021-09-09乐万德刘舟洲曹敬馨初建杰

实验室研究与探索 2021年8期
关键词:深度

乐万德, 刘舟洲, 曹敬馨, 初建杰

(1.西安航空学院计算机学院,西安710077;2.西北工业大学工业设计与人机功效工信部重点实验室,西安710072)

0 引 言

作为一款便捷灵活的开源电子原型平台,Arduino得到了广泛的应用,比如汽车并线辅助系统[1]、智能防盗系统[2],制作机械书画手臂[3]、智能盆栽养护瓶[4]等。Arduino在高校创新创业教育中也发挥着越来越重要的作用,不仅用于案例教学[5],参与竞赛活动[6],还用于实验调试[7]、实验室管理[8]等,也有学者研究其生态扩充[9]。

递归算法在数学和计算机领域都占据着十分重要的地位。在计算机领域,递归函数由于邱奇-图灵定理显示出重要意义[10],邱奇-图灵论题告诉我们一切可计算过程都可以用图灵机模拟,1935年丘奇论题提出著名的“算法可计算函数都是递归函数”。同时递归函数是C语言等计算机编程中的一个重点和难点,国内外对于递归函数的教学进行了广泛的研究。Rinderknecht[11]在广泛研究递归在编程语言中出现及被程序员采用的历史之后,提出了递归的课程方法。文献[12-14]中对C语言中递归函数的教学方法、教学设计、微课等教学形式进行了探讨。

与某些单片机有限支持甚至不支持递归调用不同,Arduino支持递归调用。而前述文献虽然分别对于Arduino与递归进行了广泛的研究,但Arduino内存有限,递归算法在Arduio系统中栈溢出隐患问题鲜有研究。本文旨在探索Arduino安全递归调用,以期进一步释放Arduino应用潜能。

1 实验环境

本文实验硬件为目前广泛应用的Arduino UNO R3。作为Arduino平台的参考标准模板,UNO的处理器核心ATmega328,具有14路数字输入/输出口(其中6路可作为PWM输出)、6路模拟输入、SRAM 2 KB[15]。……

登录APP查看全文

猜你喜欢

深度
四增四减 深度推进
深度观察
深度观察
深度观察
深度观察
刍议深度报道的深度与“文”度
提升深度报道量与质
微小提议 深度思考
微小提议 深度思考
猪的深度人工授精