使用Arduino我们可以做出很炫的作品,因为在Arduino语法中,枯燥的底层代码都被封装成了一个个的现成的函数,我们只需要调用即可。可是,小编认为我们还真的需要了解一些底层的知识,因为这样可以将我们编写的语句被有效的转换为机器码,提高Arduino控制器有限的程序空间的利用率。在这里小编通过本文简单的介绍一下如何有效的使用Arduino语句,我们先通过下面两幅图片比较一下,
图一 使用pinMode函数编译后代码的大小为1116字节
图二 使用bitSet函数编译后代码的大小982字节
通过上面的两幅图片我们可以清楚的看到,使用bitSet函数代替pinMode函数之后——代码变少了,整整少了134字节——这仅仅是一条语句的替换,如果是5条、10条的语句替换,那么节省量就可观了。
究其原因只是因为在Arduino语法中,bitSet函数仅是一个宏替换语句,而不像pinMode函数大篇幅的函数定义(有兴趣的读者可以自己查阅pinMode函数的原型)。想要使用bitSet函数做到这一点,我们还需要了解一下硬件的知识:在AtmelAVR中,每个I/O口的状态是由对应的数据方向寄存器里的“位”配置的,以Arduino UNO为例,数字引脚13对应的就是PB5(即DDRB,5);而在Arduino Mega 2560中,相对应就是PB7(DDRB,7)。所以,如果我们想改变某个I/O口的输入输出状态,只需要改变与其对应的寄存器里的“位”即可。
还有就是给大家介绍关于一本学习Arduino的书和博客供大家学习参考。
爱上Arduino:
http://www.alsrobot.cn/goods-193.html
Arduino电子设计实战指南零基础篇:
http://www.alsrobot.cn/goods-394.html
Arduino从基础到实践BeginningArduino从零开始:
http://www.alsrobot.cn/goods-393.html
Arduino爱好者Rebecca的博客:
近期新闻
热门新闻
奥松智能微信