草庐IT

Arduino2

全部标签

c++ - 如何使用 C++ 对 Arduino 进行编程

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion所以最近我一直在玩我的Arduino,我想知道是否有某种方法可以用C++对Arduino进行编程。我一直在使用C++/Processing对其进行编程Vim中的语言并使用makefile编译并上传到Arduino。但我的目标是能够使用类和所有出色的C++特性(或至少总和)对其进行编程。最终,我什至喜欢用原始的C语言对其进行编程,而我只是很难找到如何去做。如果有人能指出我正确的方向或帮助我,那就太好了。

c++ - 编程 Arduino 与标准 C 有何不同?

我有嵌入式系统编程的背景(TIMSP430,AtmelATxmega)。编程Arduino与那些有何不同?我可以学习哪些C知识来编程Arduino? 最佳答案 虽然我不了解ATXMega,但在较新的Arduino上使用的8位AVR芯片(如ATmega328)使用AVR-GCC编译器。这允许将C甚至C++编译到AVR芯片。AVR-GCC上一层是AVRLibc,一个C库,使AVR的编程成为更高级别的任务(不再需要直接引用寄存器等)。ArduinoIDE在后端使用AVR-GCC和AVRlibc库。此外,ArduinoIDE使otherli

c++ - 将所有库保存在 Arduino 草图目录中

我知道您应该将任何外部库放在arduino安装目录的“库”文件夹下,但我有一个项目使用我为项目创建的几个库,主要是为了保留所有代码自己包含在主pde文件之外。但是,我尝试将库与主PDE文件放在同一目录中,以便我可以更轻松地在subversion中保持所有内容同步(我在多台计算机上工作)并且我不想继续分别备份和同步库。此外,只是为了能够轻松压缩草图文件夹并知道它包含所需的一切。我已经尝试将头文件作为新选项卡添加到草图中,但这似乎根本不起作用......甚至不在乎它们是否应该在arduinoIDE中。我也尝试将库添加到子目录中的草图目录(我非常喜欢),然后链接到它们:#include"my

c++ - Arduino 使用 C 还是 C++?

锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。我在一个地方看到Arduino使用“标准”C,在另一个地方看到它使用“标准”C++,依此类推。这是什么? 最佳答案 Arduino草图是用C++编写的。这是您会遇到的典型构造:LiquidCrystallcd(12,11,5,4,3,2);...lcd.begin(16,2);lcd.print("Hello,World!");那是C++,不是C。 关于c++-Arduino使用C还是C

c++ - 在 C++/Arduino 的结构中打包位

我有一个结构:typedefstruct{uint8_tmonth;//1..12[4bits]uint8_tdate;//1..31[5bits]uint8_thour;//00..23[5bits]uint8_tminute;//00..59[6bits]uint8_tsecond;//00..59[6bits]}TimeStamp;但我想把它打包成只占用四个字节而不是五个。有没有办法移动位以创建更紧凑的结构?它可能看起来不多,但它正在进入EEPROM,因此节省的一个字节是4KB页面中额外的512个字节(我也可以将剩余的额外6位用于其他内容)。 最佳答案

c++ - 在 C++/Arduino 的结构中打包位

我有一个结构:typedefstruct{uint8_tmonth;//1..12[4bits]uint8_tdate;//1..31[5bits]uint8_thour;//00..23[5bits]uint8_tminute;//00..59[6bits]uint8_tsecond;//00..59[6bits]}TimeStamp;但我想把它打包成只占用四个字节而不是五个。有没有办法移动位以创建更紧凑的结构?它可能看起来不多,但它正在进入EEPROM,因此节省的一个字节是4KB页面中额外的512个字节(我也可以将剩余的额外6位用于其他内容)。 最佳答案

基于Arduino的智能家居系统设计

基于Arduino的智能家居系统设计一、设计要求1、利用DHT11温湿度检测模块和光敏电阻采集环境温度、湿度和光强信息;2、通过Arduino开发板对DS1302时钟模块进行初始设置,并每隔一定时间读取日期和时间信息;3、利用LCD1602显示模块显示温度、湿度、光强、日期、时间和控制模式等信息;4、根据从DS1302时钟模块读取的时间信息,每天固定时间给宠物进行自动投食、喂水若干次;5、能够在自动控制模式和语音控制模式之间进行切换;6、自动控制模式下,根据温度、湿度、光强等环境参数对灯、空调、窗帘等进行自动控制,通过继电器控制不同颜色的LED,模拟简单的家用电器场景;7、语音控制模式下,根据

Arduino利用键盘矩阵实现计算器

Arduino利用键盘矩阵实现计算器运行结果演示基本思路基本结构键盘数据读入运算实现原理实现准备表达式运算代码完整代码总结运行结果演示基本思路基本结构键盘数据读入运算实现原理为了实现复杂的四则运算,首先需要考虑的是算数符号以及括号的优先级。具体实现流程如下:如果是数字,则压入操作数栈中如果是运算符,则有两种情况:①如果运算符栈为空,则将其压入运算符栈中②如果不为空,则比较其与运算符栈中的优先级,如果大于则压入栈中,否则从操作数栈中取出两个数进行相应计算如果为*)*,取出操作数栈中两个数与运算符栈中运算符计算,结果压入操作数栈中。直至遇到*)*将剩余操作数与运算符进行运算,直至操作数栈为空实现准

ruby - 通过串口从 Ruby 向 Arduino 写入字节

我正在尝试通过串行端口向我的Ardunio发送一个整数。然后芯片将在LED上显示二进制数字。但是,我在尝试通过串行端口将数据作为字节发送时遇到了很多麻烦,据我所知,以下代码将其作为ASC字符值发送。任何人都可以指出正确的方向或发现错误吗?我真的很感激。很长一段时间以来,我一直在为此烦恼。rubyrequire'rubygems'require'serialport'#useKernel::requireonwindows,worksbetter.#paramsforserialportport_str="/dev/tty.usbserial-A700dZt3"#maybediffere

c++ - Arduino sprintf float 未格式化

我有这个arduino草图,chartemperature[10];floattemp=10.55;sprintf(temperature,"%fF",temp);Serial.println(temperature);温度输出为?F关于如何格式化这个float有什么想法吗?我需要它是一个字符字符串。 最佳答案 由于某些性能原因,%f未包含在Arduino的sprintf()实现中。更好的选择是使用dtostrf()-将浮点值转换为C风格的字符串,方法签名如下所示:char*dtostrf(doubleval,signedcharw