问题标签 [uart]
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.
bluetooth - RN-41 蓝牙和 dsPIC
有几个问题我希望是相当直截了当的。
我一直在通过 RS232 以 115200 的波特率将数据从我的 PIC 传输到 PC。我最近有一个 RN-41 蓝牙模块,希望开关就像为模块供电和连接 PIC TX 一样简单(通过 max3232)到 RN-41 的 RX,正如在线社区让我相信的那样。
我可以连接它并将其与计算机配对,我还可以使用 PUTTY/Realterm 更改参数,例如名称和波特率。最后,通过将链接连接到蓝牙模块上的 RX 和 TX 并为其供电,我可以通过使用 PUTTY 发送和回显文本来 ping 文本,因此我相当确定模块没有损坏。
但是,当我尝试将我的数据从 PIC 传输到蓝牙模块并使用 realterm(有线连接工作正常)查看它时,我收到了数据,但这不是预期的。我期待一个 25 字节的数据包,标头值为 2,我得到大约 12-15 个字节和 -65 的标头。
第一个值 -65 始终相同,其他数据可以更改,这确实表明波特率有问题,但我尝试了各种波特率(在我的 UART 代码、蓝牙参数和实时中更改) ,并且数据根本没有变化;总是错的。
我错过了什么?我需要更改蓝牙配置吗?我还检查了奇偶校验位、停止位等,彼此都一样。
linux - Silabs Usb CP210x 驱动程序错误
当我尝试为我的 Silabs USB 到 UART 桥接器安装驱动程序时遇到问题。
我从这里下载了驱动程序:http ://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
我正在尝试将它安装在具有内核 3.6.11 的树莓中
在说明中,我可以看到以下内容:
但是,当我尝试调用 MAKE 时出现此错误:
cc1:一些警告被视为错误
这里有什么问题?
serial-port - 通过 UART 将单个字符从 pic16f887 传输到 PC 终端(腻子、超级终端等)
我正在尝试从 pic16f887 传输一个字符“a”并在终端上查看结果,但我得到的只是一个问号(使用 USART 终端),或者什么都没有(腻子,超级终端)。我对 C 不是很好,因为我只是一个初学者,但我真的需要让它为我的学校项目工作。我尝试了很多我在互联网上找到的代码,我确实设法收到了来自终端的字符,比如说,打开一个 LED,但我无法让它发送任何东西。我有一种强烈的感觉,它在代码的某个地方。我使用 MPLAB 和 Hi-Tech C 编译器来构建项目。这里是:
请如果有人在此代码中看到问题(或更多问题),请帮我解决这个问题;)哦,当按下连接到 TX 引脚(RC6)的按钮时,我正在传输..
c - 检查 THRE 通过串口发送字符
我正在尝试使用以下方式将字符串发送到串行端口:
例如,在尝试编写 ABCDEF 时,有时它会跳过字母或多次打印它们。我的猜测是我没有正确验证 THRE 的状态,因为它不仅是错误的结果,while() 是否存在似乎没有做任何事情。有任何想法吗?
c++ - 是否可以在没有标准库的情况下写入控制台?c/c++
我正在手臂微处理器上编程,并试图通过 UART 使用打印语句进行调试。我不想添加stdlibs
只是为了调试。stdio.h
有没有办法在没有/的情况下打印到控制台iostream.h
?我可以自己写printf()
吗?
或者,我可以使用 DMA 控制器并直接写入 UART 来执行此操作。但是我想避免这种情况是可能的。使用内置的测试功能“echo”或“remote loop-back”我知道我已经正确配置了UART。
c - UART - 不显示响应
我在我的树莓派上使用下面的代码。我在 TX 和 RX 线之间建立了物理连接。
但是当我吃午饭时,它会看到:
写入开始... 写入停止... 12345 sen = 8 读取开始... 收到 SIGIO 信号。读取停止... 响应 = , 多少字节 6
问题是我没有看到任何响应字符串。我收到了 6 个字节,就像我发送的一样。我看到新行就像在 comm[10]="12345\n";
我能做些什么?
我还用 minicom 进行了测试:当我吃午饭时: minicom -b 115200 -o -D /dev/ttyAMA0
在另一个终端窗口上我写: printf '12345' > /dev/ttyAMA0
当 TX 和 RX 连接时,我在 minicom 屏幕上看到了它。可以吗?
memory - UART转SD卡
我正在尝试实现一种将数据从 dsPIC33F 写入 SD 卡的方法。我目前可以通过 UART 将数据传输到蓝牙和 USB,但我在网上找不到任何关于通过 UART 写入 SD 卡的信息;这一切似乎都是SPI。
我会使用 SPI,但我已经在使用 I2C,而且似乎很难在同一个 PIC 上同时使用 SPI 和 I2C,因为它们共享引脚。
那么,任何人都可以建议任何有关通过 UART 将数据写入 SD 卡的信息,或者同时使用 SPI 和 I2C 的方法吗?
我想要的只是某种形式的存储方法,所以如果有人可以建议另一种方法,也许是 EEPROM 或 USB 闪存驱动器,那么我会全力以赴。我需要至少 2GB 的存储空间,越多越好。
c - 使用 16550D UART FIFO
我正在尝试使用 FIFO 寄存器创建一个 UART_read 函数,但我无法理解它是如何工作的。我知道它允许我每次读取获得更多字符,因此这意味着读取将中断处理器的次数更少,但是在启用它之后我该如何使用它呢?我在任何地方都找不到例子。我目前的功能是:
c - 处理用户空间和内核之间的buf
我正在制作一个能够使用 UART 接收和发送字符的简单设备驱动程序。
我的读写函数如下:
我用来测试的部分程序是:
有了我所拥有的,我写“HELLO,MY NAME IS”字符串没有问题,但是当我从UART读取“hey”时,读取函数中的buf显示为“heyLO,MY NAME IS”,而且我不明白为什么会发生这种覆盖。我现在最好的猜测是,首先我写入内核访问的用户空间,然后我读到同一个用户空间,最后覆盖了已经存在的内容。
terminal - 终端提示失真且不可读
我是 linux 编程的新手。我按照网络上的示例读取/写入控制台,例如“/dev/ttyS0”。每次我运行代码时,它都会退出而不提示用户编写输入。它还会扭曲终端提示符(换行符),我无法看到我正在输入的内容......这是我正在使用的代码: