问题标签 [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 回答
9189 浏览

serial-port - atmega32中UBRRH和UBRRL寄存器的作用是什么?

我在网上找到了这部分代码,关于如何在 atmega32 上初始化 USART。它适用于我的应用程序,但我想更好地理解它。

我的问题是 UBRRH 和 UBRRL 寄存器的确切用途是什么,为什么我需要使用它们?

非常感谢您提前

0 投票
1 回答
7161 浏览

c - USART 到 4MBps!如何?STM32L151xx

如何将 USART 波特率提高到 2Mbps、3Mbps 或 4Mbps。我正在使用 STM32L151RCT6A,我能够运行到 921600。我已经设置了 PLL 32MHz 的时钟。在给出的数据表上,这表明这是可能的,有人做过吗?

0 投票
1 回答
4449 浏览

c - Stm32L151RCxxx USART 挂起问题,同时基于中断的 TX/RX

我正在运行 USART3,波特率为 921600,使用 RTS CTS,当我尝试同时执行 RX 和 TX 时,我总是面临系统挂起。我已经粘贴了主代码和 IRQ 代码。IRQ 被设计为在丢弃所有接收到的数据的同时传输一个字符“A”。当我们禁用时会发生挂起USART_ITConfig(USART3, USART_IT_TXE, DISABLE);

UART_配置()...

主.c ...

0 投票
2 回答
373 浏览

serial-port - 如何创建名称略有不同的 printf

我正在使用 ATmega128,我需要两个串行端口进行通信。我一直在使用“stdio.h”头文件中的 printf 通过 USART 0 发送数据。我还需要通过 USART 1 向 lcd 发送数据,我对使用格式化输入功能感到好奇。我一直认为将相同的 printf 函数连接到 USART 1 和 USART 0 会使编译器感到困惑,所以我没有尝试过。

谁能建议如何让另一个 printf 说“Lprintf”通过 USART 1 发送数据?

0 投票
1 回答
108 浏览

c++ - 使用继承或编码不同的 USART 变体

我有一个使用 tx 中断传输数据的 USART 类。现在我想创建一个使用 DMA 传输数据的变体。你更喜欢什么:

  • 使用继承创建两个 USART 子类,例如 ISRUSART 和 DMAUSART?

或者

  • 只需在代码中实现变体检查。让用户在构造函数中指定是否应启用 dma,然后在代码中执行检查以决定做什么(启用中断或加载 dma)?
0 投票
2 回答
514 浏览

c - 终端模拟器中的随机字符

我目前正在开展一个项目,以根据笔记本电脑通过 USB 输入的文本选择不同的输出。

我目前正在尝试做的是将一个字符从我的 PIC18F1320 发送到超级终端,我尝试使用变量,但正在接收 rnadom 字符,例如笑脸等。我简化了我的代码以简单地打印一个 1 但是我仍然收到笑脸符号。我检查了我使用的波特率是否正确,并且我的笔记本电脑和 PIC 之间有明确的通信,但是此时我完全卡住了,因为我不知道为什么会输出随机字符。

我对C知之甚少,任何帮助将不胜感激

0 投票
1 回答
986 浏览

c - 通过 PIC16 UART 发送转换后的 DS1820 温度

我正在尝试使用 PIC16F877 UART 将转换后的温度读数从我的 DS1820 发送到我的 PC。我正在使用 MPLABX 和 XC8 编译器,它在 usart.h 中构建,虽然它只对 PIC18 系列有用,所以我使用的是第三方编写的 usart_pic16.h,它可以与 PIC16 系列一起使用。

我成功地从 DS1820 以十六进制形式收集温度并将其转换为人类可读的浮点数,但我找不到通过 UART 将浮点值转发到 PC 的方法。

usart_pic16.h 库允许使用以下方法通过 usart 直接发送字符、字符串、行和整数:-

  • 无效 USARTWriteChar(char ch);
  • 无效 USARTWriteString(const char *str);
  • 无效 USARTWriteLine(const char *str);
  • 无效 USARTWriteInt(int16_t val, int8_t field_length);

我一直在寻找一种使用该库在 uart 上发送浮点值的方法,其中包括提取和发送小数点。

我确实尝试过发送这样的字符串:-

  • USARTWriteString("TempC= %7.3f 摄氏度 \r\n", temp_c );

其中 temp_c 是温度的浮点值,但在编译时出现“函数参数过多”错误。对于那些 c 大师来说可能很明显,不幸的是我不是:(

也许一种方法是从浮点数中提取每个值并将其作为整数发送,除了小数点可能通过对每个值的“if”检查找到,然后当找到小数点时发送它是一个字符,例如 USARTWriteChar('.');,它确实有效。不幸的是,我不知道如何提取单个浮点值,或者它是否是最好的方法。

我不确定是否需要我的代码来解决这个问题,所以我想除非有人问,否则我会避免发送垃圾邮件。

任何帮助都会很棒。

谢谢。

0 投票
2 回答
2706 浏览

arm - PC从STM32F0 usart收到错误数据

我试图按照这个链接的答案来配置我的 STM32F0 Discovery board 的 USART: stm32f0 uart programming

我使用 USART2 将数据发送到我的电脑,波特率 9600 和 115200 都试过了。

我将字符从 '0' -> '9' 发送到 PC,但我总是收到 'cg3fe2d' 和一些不可见字符,似乎有一些规定,有人可以帮忙吗?

我的 STM32F0 配置为使用内部 osc,48MHz。

在此处输入图像描述

我的参考代码是这样的:

0 投票
1 回答
1218 浏览

pic18 - pic18f4550 的 USART

我正在研究 PIC18f4550。我希望它通过 USART 进行通信。我能够传输一个字符,但无法接收任何数据。根据我的说法,我检查了所有的 SFR 和 r ri8。我正在使用 mplab c18 v3.46 编译器和 MPLAB v8.40。

我在网上找到了这段代码并进行了相应的修改。它传输'o'并且不再响应'k'

0 投票
1 回答
2471 浏览

serial-port - 使用 printf 函数不显示浮点值

我一直在尝试使用 printf 函数使用 ATmega8 的串行端口显示浮点值,而不是显示浮点值,'?显示字符。输出是

漂浮: ?

这是代码