Questions tagged «serial»

串行通信是Arduino与计算机之间的标准USB连接,带有标准USB A至B电缆,或使用USB至串行转换器通过TX / RX引脚。它还可以引用串行库。

11
如何分割传入的字符串?
我通过串行连接以以下格式通过arduino发送伺服位置列表 1:90&2:80&3:180 可以解析为: servoId : Position & servoId : Position & servoId : Position 我将如何拆分这些值,并将其转换为整数?

12
如何在一个字符串中打印多个变量?
假设我有一些要打印到终端的变量,以字符串形式打印它们的最简单方法是什么? 目前,我正在执行以下操作: Serial.print("Var 1:");Serial.println(var1); Serial.print(" Var 2:");Serial.println(var2); Serial.print(" Var 3:");Serial.println(var3); 有一个更好的方法吗?

20
串行数据绘图程序
我需要从Arduino绘制串行数据。 我需要以下方面的支持: 各种数据格式(例如,有符号,无符号,8位,16位); 在同一轴上绘制多个数据; 导出/导入文件数据。 由于通常需要从Arduino绘制串行数据,因此我的问题是:可以使用哪些程序/实用程序从Arduino绘制串行数据来满足上述需求? 您建议的方法的优点/缺点是什么?
36 serial 

6
Serial.begin():为什么不总是使用28800?
在许多在线示例代码中,人们Serial.begin(9600)在setup块中添加了该行。 当我查看Serial.begin()官方文档中的内容时,它表示它控制每秒数据传输的位数。 因此,显而易见的问题是,为什么不使用最高传输速率的28800?人们为什么选择9600?这里有什么限制?
34 serial 

3
为什么启动串行监视器会重新启动草图?
如果我上载了任何发送串行数据的草图,一旦上载了草图,我会立即看到TX / RX LED闪烁。如果然后启动串行监视器,则草图似乎会重新启动。 最小的草图显示了这种行为: void setup() { Serial.begin(9600); Serial.println("Setup"); } void loop() { Serial.println("Loop"); delay(1000); } 在多个开发板以及Mac和Windows版本的IDE上进行了测试。 输出示例-当我打开串行监视器时,它会返回到“设置”: 为什么是这样?



2
Arduino作为USB HID
是否可以使用Arduino uno构建HID设备(如键盘)? 当时,我在Arduino上有按钮输入,在串行线上提供了输出。因此,如何将当前的固件转换为可以像HID键盘一样工作的固件? 我应该编写一个新的窗口设备驱动程序吗? 我是否应该创建一个软件层来接收我的串行数据,并让Windows将其读取为HID输入? 如果有可能,是否有更好的方法可以实现?


4
通信协议最佳实践和模式
每次我设计要在两个arduino之间使用的串行协议时,我都会感觉就像是在重新发明轮子。我想知道人们是否遵循任何最佳做法或模式。这个问题不是关于实际代码,而是关于消息的格式。 例如,如果我想告诉arduino闪烁它的第一个LED 3次,我可以发送: ^L1,F3\n '^':开始一个新命令 'L':定义命令,(L:将此命令指向LED) '1':瞄准第一个LED ',':命令行分隔符,此消息中要跟随的新值 'F':Flash子命令 '3':3次(使LED闪烁3次) '\ n':结束命令 有什么想法吗?您通常如何编写新的串行协议?如果我想将查询从arduino 1发送到arduino 2,然后收到响应怎么办?
19 serial 

2
当其他组件/设备连接到Uno时,为什么不能上传草图?
我想制作一个相当简单的电路,使用我的Arduino Uno(更具体地说是SainSmart克隆)来依次闪烁一系列LED。我写了草图,编译得很好。之后,我将8个LED +电阻连接到引脚0到7,然后通过USB将Uno连接到我的计算机。 过去我已经成功上传了草图,所以我确定我的设置和驱动程序等是正确的。但是,这次我尝试上载草图时,它没有用。 我尝试删除与Arduino引脚连接的所有东西,然后突然上传再次起作用。 为什么会这样?这是否意味着我每次上传草图时都必须断开电路板上的所有连接?

13
Arduino Nano上传出现错误:avrdude:stk500_recv():程序员未响应
我有一个Arduino Nano(Sainsmart),我正在尝试将草图上传到其中。在Arduino IDE下,选择的设备为Arduino Nano w/ ATmega328。 但是上传草图给我错误 avrdude: stk500_recv(): programmer is not responding 我尝试了两个USB端口(/dev/tty.usbserial&/dev/cu.usbserial),但相同的错误仍然存​​在。Arduino通过USB电缆连接到Macbook Air,并且PWRArduino上的LED指示灯点亮,并且LED指示灯L闪烁。上传到Arduino Uno没问题。 从http://www.ftdichip.com/Drivers/VCP.htm安装最新的FTDI驱动程序(MAC OSX,x64,v2.2.18,FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg)后重试。但是,这没有帮助。 可能出了什么问题?


1
Arduino Nano没有适用于MacBook Air 2013的串行端口
问题 我有一个通过USB电缆(A型到Mini B型)连接到我的MacBook Air(2013年中型号)的Arduino Nano。连接arduino时,PWR LED点亮。 打开Arduino软件,下拉Tools > Serial Port菜单并没有显示有效的串行端口。我所看到的是: /dev/tty.Bluetooth-Incoming-Port /dev/cu.Bluetooth-Incoming-Port /dev/tty.Bluetooth-Modem /dev/cu.Bluetooth-Modem 我尝试过但没有奏效的 我已经安装了正确的FTDI驱动程序(v2.2.18)。适用于MacBook Air的Corei5文件的x64文件FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg。安装后重新启动。 尝试将arduino连接到Air的两个USB端口。 更多信息 运行Mac OSX 10.10 Yosemite 连接到Windows机器或Raspberry Pi时,相同的arduino和电缆工作。 如果有帮助,我可以在Apple Logo > About This Mac > System Report下面看到USB串口Hardware > USB USB2.0-Serial: Product ID: 0x7523 Vendor ID: 0x1a86 Version: 2.54 Speed: Up to 12 Mb/sec …

6
我怎么知道采样频率?
我开始对采样率和波特率等感到困惑。我有这个Arduino代码: #include <eHealth.h> extern volatile unsigned long timer0_overflow_count; float fanalog0; int analog0; unsigned long time; byte serialByte; void setup() { Serial.begin(9600); } void loop() { while (Serial.available()>0){ serialByte=Serial.read(); if (serialByte=='S'){ while(1){ fanalog0=eHealth.getECG(); // Use the timer0 => 1 tick every 4 us time=(timer0_overflow_count << 8) + TCNT0; // Microseconds conversion. …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.