问题标签 [baud-rate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macros - Terra Term 宏波特率调整
我正在尝试制作一个用于调整无线电波特率的宏,但我遇到了一些麻烦,我无法通过谷歌搜索找到解决方案。我正在使用应用程序 terra 术语。
'先链接宏。使用“连接宏”是我尝试运行宏时出现的第一个错误。这是宏。
当然,在此之后还有一些其他关于语法的错误,但我最感兴趣的是首先修复第一个错误,这是我第一次使用 ttl,所以我一定会遇到语法错误,我会继续处理。
代码的目标是将串口波特率设置为 115200,以便它可以与收音机通信,然后将收音机的波特率更改为 9600,然后将串口更改为 b9600 并使用 at&w 命令完成。
android - 波特率会损坏 SD 卡吗?
我正在与 Android 媒体播放器设备上的开发人员团队合作。我们的日子不好过,因为 SD 卡不断损坏,我们不知道为什么。在随机时间(但经过几天的 r/w 循环之后)它们无法再访问,我们需要替换它们。
我正在阅读一篇关于硬件错误的文章,这件事引起了我的注意:
(...)时钟让硬件设备——它不直接连接到 CPU——与 CPU 运行的代码保持同步。时钟决定了波特率——数据从一侧发送到另一侧的速率。如果时间搞砸了,硬件或软件——或两者——都会混淆。这真的非常非常糟糕,并且通常会导致数据损坏。
所以我在想......波特率是否有可能与我们的 sd/usb 卡损坏问题有关?也许 sd/usb 卡波特率和设备的读卡器控制器波特率之间存在差异?
这里发生了类似的事情,尽管在不同的项目中:
引用:“但是我无法通过 Xbee 从 PC 接收文件并将其写入 SD 卡而不会丢失文件块”。
完全免责声明:我不是开发人员,而是 BA。我不知道我的问题是否是胡说八道,我只是想找到我们问题的答案。
matlab - Matlab-如何减少串行发送的两个字节之间的时间?
大家好你们好 !
我必须尽可能快地在串行端口(从 Matlab 到 Arduino)上发送大量数据(用于实时应用程序)。为了做到这一点,我改变了我的波特率。在示波器上,没问题(即使我以 1Mbps 的速度发送):一位“持续”在 1/1000000 秒内。尽管如此,使用 matlab 发送的两个字节之间的间隔仍然相同(大约 1 毫秒)。
你知道如何减少这个时间吗?
这是我用来测试的代码示例:
我已经尝试修改BytesAvailableFcnMode或InputBufferSize,但没有成功。
谢谢 !
pic - PIC16F1823波特率发生器寄存器设置失败
我遇到了一个奇怪的问题:我试图在 MPLABX 中的 PIC16F1823 上简单地设置 UART 波特率,只需向SPBRGH
和写入一些值SPBRGL
。在看到 UART 通信不起作用后,我检查了调试器,寄存器在写入它们后不会改变值(它们相应地保持在 152 和 48)。我做了很多实验,发现实际上GETS设置的是SP1BRGH
和SP1BRGL
寄存器,虽然命名是错误的——除了数据表中的命名是和之外,该图片仅配备一个UARTSPBRGH
SPBRGL
。另一个症状是在监视窗口中,变量旁边的菱形图标里面有一个P,而旁边的SPBRG*
SP1BRG*
不 - 我无法找到P
虽然的意思。你认为这是某种错误吗?代码是如此简单,以至于我无法让自己思考。如果是这样,那么神秘的152和48值是什么?
python - 最大 Beaglebone Black UART 波特率?
我一直在寻找 Beaglebone Black (BB) 支持的 UART 波特率。我在 BB 系统参考手册或 sitara 处理器本身的数据表中找不到它。我正在使用 pyserial 和 Adafruit BBIO 库通过 UART 进行通信。
这是否支持合理范围内的任何值还是更标准(9600、115200 等)?
谢谢你的帮助。
-UPDATE- 它与 PySerial 支持的波特率有关。这给出了潜在波特率的列表,但没有列出将与特定硬件一起使用或不使用的特定波特率。
global-variables - termios.h 中的波特率限制是多少?
这是我一直在使用的用于与微控制器接口的串行程序的快速代码片段。该代码已经过验证可以工作,但我想添加全局定义以使代码更加模块化。显示的摘录有效,直到我将“cfsetispeed”中的“B1000000”替换为全局“BAUDRATE”。
于是想到了两个问题:
1) 我读到 Termios 只允许选择波特率,列出的最大值是 230,400。1,000,000是怎么被允许的?
2) 为什么 cfsetispeed() 不允许全局字符定义作为参数?
serial-port - 如何在 Windows 上将 COM 端口波特率设置为 921600?
问题:如何从 Windows 7 PC 访问波特率为 921600 的设备。
我有一个嵌入式设备,我曾经通过 USB 串行端口以 115200 的波特率连接到该设备。
现在,嵌入式设备的波特率更改为 921600。我无法与此设备通信。
我有一个终端程序(Teraterm),可以在其中将波特率设置为 921600。但我无法与 emb 设备通信,因为可以在 Windows 7 设备管理器中为此设备设置的最大波特率是 128000。
我什至尝试使用之前工作的 Python 脚本(更改波特率 921600)(波特率 115200)。现在它不工作了。
c - AXI-Uartlite 和 Teraterm 之间的波特率不匹配
我在 Avnet 的 MMP2 板上的 Kintex 7 上构建了一个简单的 Microblaze 系统。我在这个系统中使用 Uartlite (v2.0) IP 并使用 Teraterm (v4.85) 与 PC 通信。Uartlite 组件的波特率必须在设计阶段固定为特定值。我为我的设计选择了 19200 bps。我编写了一个非常简单的应用程序,它"At"
通过 Teraterm 向 PC 发送 6 个连续的 s,然后从 Teraterm 控制台获取一个 ascii 字符并打印出来。问题是,对于每个"At"
Teraterm 'Ç'
,控制台上只显示一个。传输参数如下:
19200 个基点;8个数据位;1个停止位;没有平价;无流量控制
然而,经过大量的摸索和反复试验,我发现如果我将 Teraterm 中的波特率更改为 38400 bps,我会得到所需的行为,即我在控制台上得到"At"
s,从控制台得到一个字符并打印回来了。
据我所知的代码(这真的很简单),我没有改变波特率。但不知何故,我以比指定速率更快的速率发送数据。使用的时钟为 100MHz。由于必须在设计阶段指定波特率,如何才能获得更高的波特率?我做错了什么?
代码如下:
编辑:
今天,我尝试将UARTlite IP核的波特率降低到9600,重新生成比特流并再次运行。同样的结果。如果我将 Teraterm 的波特率设置为 9600,它就不起作用。Teraterm 提供 14400 波特率选项。我用过这个。我得到 12 个字符,但是乱码。如果我把它加倍到 19200,它就完美了。我也会尝试其他波特率并更新。请帮忙。!!这仍然是我设计的基本部分。下图供参考:
编辑2:
我尝试了以下方法:
卸载 Teraterm 并重新安装
安装 Realterm
安装的超级终端
尝试了所有 3。行为没有变化。:(
arduino - 串口变速后无法连接到 ESP8266
经过反复试验,今晚我的Arduino Uno开始与ESP8266 模块通信,该模块使用最常见的接线,从大尺寸外部电源为模块提供 3.3V 电源,直接连接 3.3V TX 线和分压器从 5V RX 读取。
为 ESP8266<->Arduino 串行通信设置115200 速度后,串行监视器上出现了一些清晰的启动消息和命令响应。
由于这些消息被一些垃圾字符交错,我尝试降低通信速度。为此,我向模块发出了命令AT+IPR=9600
,它立即在蓝色 LED 上显示了一些动作,在控制台上显示了 OK 响应,最后导致相同的 LED 被固定。
因此,我调整了 Arduino 端的串行速度,esp8266.begin(9600);
但无法与模块进行任何进一步的通信。
我现在只能以任何速度看到垃圾。
模块可以升级到不同的速度吗?我尝试了其中的许多(4800、57600、19200、回到 115200 等),但显示器上没有出现明确的响应。
您能否建议尝试重新建立连接?有什么方法可以重置最后一个命令结果?如果可以尝试任何更简单的解决方案,我宁愿避免设置固件更新。
python - Python串口,切换波特率后丢失数据
我尝试使用 python 的串行模块(以及带有光学读取头的 USB 到串行转换器 (FTDI)。它使用 IEC 62056-21 中描述的协议)读取公用事业仪表。已知该设置可与其他软件一起使用。
在以 300bit/s 发送 b'/?!\r\n' 后,仪表会响应制造商、固件版本和切换通信速度的建议。因此程序确认速度并请求“数据读出模式” <ack>050<CR><LF>
,其中 5 是速度 9600。然后程序切换波特率。
一切都很好,直到波特率切换。正常行为是仪表发送以 开头<STX>
和结尾的数据帧,<ETX>
并包含几行以 结尾的文本<CR><LF>
。
但是缺少大约 9 行文本。该程序在第 9 行或第 10 行中间的某个地方赶上。有时我会得到一长串空字节。
这是代码(我留下了一些测试留下的评论):
我尝试了很多事情,比如刷新缓冲区、以不同的速度关闭和重新打开、插入暂停、读取行而不是字节、使用 inWaiting() 等等。我怀疑在切换波特率时没有缓冲一段时间,所以我丢失了一些数据。顺便说一句,我在 Windows 上使用它,Winpython 发行版(在我的工作场所,这就是为什么)串行模块的版本是 2.7。
下面是一个应该如何沟通的例子(带有时间和方向的沟通记录部分用德语)。使用我的程序,我只能从 0.2.0 的行中收到:
感谢您的阅读,非常感谢您的帮助!