问题标签 [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.

0 投票
1 回答
1035 浏览

c# - SerialPort:应用程序在传输数据时在断开设备连接时导致蓝屏

我正在为具有串行端口(带 USB 桥接器)的设备开发解决方案。一切都很好,除了它在数据传输过程中断开设备时导致蓝屏。我的应用程序没有发现任何异常。有什么办法可以处理吗?要求用户在数据完全传输之前不要断开连接不是一种方法。

我正在使用 System.IO.Ports.SerialPort 类从设备读取数据。

0 投票
2 回答
466 浏览

opengl - OpenGL中的串行中断,该走哪个结构?

我正在编写一个 OpenGL 软件,它由 Linux 下的 C++ 中的 UART(在 Boost::asio 的帮助下串行)驱动。

我目前已完成接收和处理数据,并准备使用 OpenGL 将其可视化。这个问题可能不受OpenGL的限制,无论如何我的问题是:

如何从 UART 回调函数调用 OpenGL 绘图函数?

当然,我应该能够通过以下方式运行它:

  1. 使用任何 IPC(PIPE, socket, semaphore) 方法
  2. 将 OpenGL 绘图函数或其类作为变量传递给 UART 回调
  3. 把所有东西都放在一个班级里

我遇到了很多类似的案例,并以不同的方式实现。但我仍然无法弄清楚正确的答案是什么。

我个人不喜欢 PIPE 或文件 IO IPC,唯一剩下的选项是我一直在使用的套接字、信号量和共享内存。

0 投票
0 回答
629 浏览

operating-system - uart 发送缓冲区就绪信号卡住以进行串行传输

未启用中断的终端 UART 驱动程序

uart_out() 是在我的操作系统中作为进程调度和运行的方法,但是在放置或传输 char A 一次后,进程停止并且不再输出字符。我有什么遗漏吗?

0 投票
3 回答
4040 浏览

verilog - 将 14 位字缩放为 8 位字

我正在做一个项目,我使用 ADC 对信号进行采样,将值表示为 14 位字。我需要将值缩放为 8 位字。一般来说,有什么好方法可以解决这个问题。顺便说一句,我使用的是 FPGA,所以我想用“硬件”而不是软件解决方案来做。此外,如果您想知道事件链将是:采样模拟信号,用 14 位字表示采样值,将 14 位字缩放为 8 位字,使用 UART 将 8 位字传输到 PC COM1。

我以前从来没有这样做过。我假设您使用量化级别,但我不确定此操作的有效电路是什么。任何帮助,将不胜感激。

谢谢

0 投票
1 回答
177 浏览

cgi - 从 cgi python 脚本访问 uart 设备时出错

我正在尝试从我的 /dev 文件夹访问 UART 设备来控制机器人。我正在尝试使用 cgi python 脚本从 Internet 执行此操作。当我在命令行上执行代码时,代码工作正常,但是当它通过服务器执行时,我收到 500 错误。我很确定这是某种权限问题,但我不知道如何解决。如果有人知道这里发生了什么或我如何解决它,我们将不胜感激。

如果有人愿意,我可以发布我的 python 代码,但我认为问题不在于代码,而在于代码的执行。

提前致谢,

迈克尔,

0 投票
2 回答
760 浏览

c - Printf 使终端停止工作

我正在尝试通过输入 UART 事件处理程序捕获输入数字,并使用该数字的一些乘法将其打印回来。它可以很好地打印字符串,但是在打印之后程序不再对任何输入做出反应。可以打印 alfabet 或显示错误消息,但是当我使用 printf 函数时,终端停止响应输入并且光标位于下一行的中途。

这是C代码:

void uart0_rx_handler是中断处理程序,MSS_UART_get_rx将输入放入 g_rx_buff[g_rx_idx]。

我尝试使用与字符相同的MSS_UART_polled_tx函数打印数字,但没有运气。它打印错误的 ascii 值:

代码输出示例: http: //imageshack.us/photo/my-images/843/testlan.jpg/ 左侧终端显示使用printf函数,右侧终端显示使用MSS_UART_polled_tx函数处理数字(如第二个代码块所示) )。

0 投票
1 回答
6892 浏览

embedded - PIC18F2680 上的 UART 接收中没有触发中断

我已经使用这段代码好几天了,无法弄清楚为什么我的中断没有被触发。我知道数据正在成功通过,因为我在逻辑分析仪上使用了探头,而且我的波特率是正确的,因为我可以通过 UART 成功传输。

在这一点上,我迷路了,我一遍又一遍地阅读数据表,无法弄清楚我的问题。我将尝试仅包含相关代码,但足以让您看到我的项目中的工作方式。

如果您发现此代码有问题,请告诉我。

谢谢!

main.c 中的代码片段:

来自 interrupts.c 的代码片段

UART RX 中断处理程序片段:

0 投票
0 回答
651 浏览

frequency - C8051F996 的 UART 和 FSK 实现

我正在尝试发送一个 UART 信号,但 FSK 编码。我有 UART 工作,波特率 290。我在 P0.7TX 上发送。当连接到计算机时,我得到了预期的结果。但是,我想生成这个 UART 的 FSK 信号以通过音频发送并在那里解码。目前,我只专注于发送数据。

我创建了两个基于 PCA 的函数来创建零频率和一频率。大约 1.2kHz 和 2.4kHz。我还发现“loopOne”和“loopZero”必须在中断内完成,否则 MCU 会依次背靠背调用 loopOne 和 loopZero 来扭曲波形。

所以,我的问题是我无法弄清楚如何通过中断线获取 UART 的输出,既调用中断,然后根据 TX 是低电平还是高电平让中断调用函数。

我可以使用两个外部中断来做到这一点:一个用于输出低电平时,一个用于输出高电平时,但我需要其中一个中断用于其他目的,因此我需要连接并使用相同的中断或单独的中断和它需要区分调用哪个函数。

我正在使用 c 代码中的 Silicon Laboratories IDE。MCU 是 SiLabs C8051F996。

0 投票
1 回答
1472 浏览

c - AVR 蝴蝶 UART - 无法接收数据

我正在使用 Atmega169/AVR Butterfly 的 UART 传输到另一块板,波特率 56700,无奇偶校验,1 个停止位,无流量控制。振荡器运行在 7,3768Mhz(选中)。我可以成功传输数据(用另一块板和 PC/超级终端检查),但没有收到任何数据 - 运行调试器时,配置位都设置正确,但 RXC 一直为假 - 我还检查了是否可以发送数据到我自己(将 TXD 连接到 RXD 并接地),但没有成功。(尝试使用 ISR 和轮询)下面是代码的相关部分,希望你能处理它 - PORTB 用作示波器测试的输出(我知道我可以只使用一个引脚,但什么都没有其他现在在 PORTB 上):

0 投票
1 回答
22619 浏览

c - 如何从 UART 正确接收字符串

我发送这样的字符串:$13,-14,283,4,-4,17,6,-240,-180#

但是由于缓冲区“过载”而没有显示出来,我怎样才能接收整个字符串,或者如何在读取每个字节后清除它?