问题标签 [usart]

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 回答
1352 浏览

usart - 这个刷新 USART c 代码是如何工作的?

所以我有我正在查看的旧代码,我应该为新的微控制器更新。在旧代码中,有一个功能可以刷新 USART,以防一开始就出现垃圾。代码如下:

现在据我了解,只要从寄存器 UDR1 从 USART 中读取某些内容,while 循环就会继续运行,这就是为什么它被存储在 dummy 中的原因,因为我们不需要它。现在我需要帮助向我解释的是为什么 while 循环会以它的方式工作?

0 投票
0 回答
574 浏览

serial-port - USART PIC18F45K20接收数据中断问题

我目前为我的微电子课程设计 ARV,需要在 PIC18f45k20 上实现 USART。到目前为止,我已经让它在高优先级中断上接收到 RCREG 的第一个字符。但是,当它退出中断服务程序,程序回到主循环时,USART 不会再次中断,也不会接收到其他字符。我怀疑这与我的中断有关,因为它似乎接收到了正确的数据。对这个问题有任何帮助吗?下面是我的代码。

0 投票
1 回答
2269 浏览

serial-port - STM32f0 发现 USART 缓冲区未发送

我一直在做一个需要使用 UART 的项目。我参考了许多不同的来源,并且确信 USART 设置正确。我一直在调试器上运行代码,我注意到我的 xmitbuffer 正在正确填充。我试图在循环中打印你好,当我浏览代码时,缓冲区被 HelloHelloHello 填充。这符合预期。但是,终端上没有任何显示。我试过腻子和 TeraTerm。

我查看了 USART1 的状态寄存器,TX 位设置为 1。我假设 1 表示发送完成。我已经用 9600 和 115200 的波特率进行了尝试,但都没有成功。我不确定如何继续。

注意我用来将 USART 发送到 PC 的电缆也很重要。我正在使用来自 FTDI(http://www.ftdichip.com/Products/Cables/USBRS232.htm)的 USB-RS232-WE-1800-BT_0.0 我认为这可能是我的错误。该电缆是否适用于该应用程序?我需要一根 TTL 电缆吗?

所有设置以及我的主要功能都在下面。

USART 设置:

GPIO 设置:大部分用于其他设备。端口 A 的引脚 9 和 10 是我们使用的 USART TX 和 RX 引脚。

主要的:

0 投票
0 回答
417 浏览

serial-port - 从 LCD hd44780 读取 AVR

我目前正在编写一个基于 avr ATmega32 和其他一些组件(LED、微动开关)的小项目。我正在使用 Mirosław Kardaś 的 LCD 库和来自ftp://novitech.pl/Ladowarka/LCD/的头文件。我也使用此功能通过 RS232 发送数据:

我为自己做的任务是通过 rs232 获取当前显示在我的 hd44780 2x16 上的数据(通过 4bit 连接)。问题是当我使用

当设置为 ANSII 时,我的终端不显示任何内容,当显示为 HEX 时,我得到 01 02 03... 又一遍,bt 我想准确地获得 LCD 上的内容,并在它的 RAM 中。与 RS 的沟通很好,因为当我使用类似的东西时,... USART_wysylanie ('s')一切都很好。有什么想法可以让我的代码读取 LCD 内容吗?

0 投票
0 回答
156 浏览

c# - 通过串口接收数据

在我的项目中,我想使用 C# 创建一个 Windows 应用程序,以使用 Modbus 协议通过串行端口与电子板 Atxmega 进行通信。我可以将写入命令从 PC 发送到电路板,电路板发送正确的响应,但我无法在我的 PC 中读取它。不知道为什么收不到完整的数据包

它试过这个

和这个

但我无法接收完整的数据包,那么如何从串口接收完整的数据包?我的代码有什么问题?

0 投票
2 回答
13780 浏览

c - STM32:通过 USART 接收数据

我正在研究 STM32 Discovery(F10x 系列),我正在尝试通过 USART1 发送和接收数据。

uart_putc工作正常,但 uart_getc 卡在 while 循环中,似乎 while 条件永远不会为真。
有人知道这段代码有什么问题吗?

0 投票
3 回答
2052 浏览

crash - 发送过多串行数据时,Digis XBee 系列 2 固件冻结/崩溃。可靠性很差

症状: 我这里有几个 XBee 24-ZB系列 2,它们作为协调器连接在 PC 上,作为路由器连接在终端设备 (AVR) 上(无睡眠)。

当发送大量数据时,路由器/终端设备 XBee 可能会突然冻结 DIN 线路。它仍然可以通过无线电进行通信,它仍然可以将接收到的数据串行传输到微控制器 (DOUT),但忽略 DIN。

XBee 在透明模式下运行,并且无论您多久尝试一次,它都会忽略 AT 命令(带有保护时间的 +++)。我非常确定波形是干净的,用滤波电容读取 VCC 是稳定的,阅读手册和数据表。

唯一的解决方案是重置 XBee 或重新启动 XBee 设备。

波特率: 我尝试了 111111 和 250000。对于 XBee(0% 误差)和同样在 16 MHz 晶体上运行的 AVR,它们是完美的匹配。在 XBee 工作期间,它可以传输大量数据而不会出现任何损坏,并且微控制器的复位不会改变任何事情。

0 投票
1 回答
974 浏览

c - USART的同步模式

我正在使用 stm32f103,我想使用 USART2 的同步模式发送和接收数据。所以我有一个问题,例如,如何将 USART 的时钟设置为 10 MHZ?哪个寄存器?

0 投票
0 回答
577 浏览

serial-port - STM32F103VCT6 UART转FTDI接口问题

好的,这可能是我迄今为止遇到的最愚蠢的事情之一,但我有一个问题。

我有一个 STM32F103VCT6 单片机,我正在尝试通过 USART1 进行通信,即 PA09 和 PA10。Tx 线正常发送到连接的 FTDI 芯片,在计算机终端上一切正常。

问题是当 FTDI 发送数据时,stm 上的 Rx IT 不会触发。

Rx 线 PA10 配置为 GPIO_Mode_IN_FLOATING。

我试图改变芯片的电压水平,仍然没有。

真正有趣的是,如果我连接 stm 的 Rx 和 Tx,中断就可以正常工作。

如果我将 stm 的 Rx 线连接到板上的任何其他点,它会触发没有问题(当然是阅读垃圾,但至少我知道我的固件可以工作)

我有 stm、ftdi 和计算机都连接到共同点,所以这不应该是一个问题。

我还一百万次确认我的跨接电缆状况良好,没有任何损坏。

底线是我知道这是一个我无法理解的电气问题......它只是那些日子/事情之一,所以如果有人遇到同样的问题或类似的问题,请告诉我你是如何解决这个问题的! !

非常感谢各位

0 投票
2 回答
3276 浏览

c - synchronous mode of usart(spi mode) in stm32

I am working with the following evaluation board: SZWB-sail, STM32f103VET6 KIT v3.1

I want to use the stm32f103 usart in synchronous mode, and I used STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\USART\Synchronous

I modified the code in an attempt to use USART2/SPI1, as opposed to the working code provided via STMicro, which uses USART1/SPI1.

The README for this example states that:

"USARTy and SPIy can be USART1 and SPI1 or USART2 and SPI3, depending on the STMicroelectronics EVAL board you are using."

Despite this, I attempted to physically connect USART2 Tx/Rx/Ck pins (PA2,PA3,PA4) to SPI1 SCK/MISO/MOSI (PA5,PA6,PA7). Is there a software reason for why this won't work? Or might it be hardware connections on the eval board?

Here is my code: