Questions tagged «uart»

UART(通用异步接收器发送器)是一种在串行端口上发送和接收数据的逻辑。

2
PIC12F675 GP4不起作用
我正在为一个项目使用PIC12F675,除一件事情外,其他所有东西都工作正常。GP4不能用作数字IO。我已经看了很多配置和代码,但是找不到任何东西。 配置: #pragma config FOSC = INTRCCLK #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config MCLRE = OFF #pragma config BOREN = ON #pragma config CP = OFF #pragma config CPD = OFF 码: #include <xc.h> #include <math.h> #include "config.h" #define _XTAL_FREQ 4000000 void delay(unsigned int …
9 pic  c  embedded  programming  audio  oscillator  spark  dc-dc-converter  boost  charge-pump  eagle  analog  battery-charging  failure  humidity  hard-drive  power-supply  battery-charging  charger  solar-energy  solar-charge-controller  pcb  eagle  arduino  voltage  power-supply  usb  charger  power-delivery  resistors  led-strip  series  usb  bootloader  transceiver  digital-logic  integrated-circuit  ram  transistors  led  raspberry-pi  driver  altium  usb  transceiver  piezoelectricity  adc  psoc  arduino  analog  pwm  raspberry-pi  converter  transformer  switch-mode-power-supply  power-electronics  dc-dc-converter  phase-shift  analog  comparator  phototransistor  safety  grounding  current  circuit-protection  rcd  batteries  current  battery-operated  power-consumption  power-electronics  bridge-rectifier  full-bridge  ethernet  resistance  mosfet  ltspice  mosfet-driver  ftdi  synchronous  fifo  microcontroller  avr  atmega  atmega328p  verilog  error  modelsim  power-supply  solar-cell  usb-pd  i2c  uart 

2
为什么我不能通过RS232成功发送消息?
因此,过去一周我一直在努力获取从STM32F407发送的UART消息,并使用白蚁通过ugreen RS232到USB电缆在笔记本电脑上读取它。 我已经使用STMCube生成代码并通过阅读“ stm32f4xx_hal_uart.c”文件顶部的相关说明来添加代码(并观看了大量视频并在线阅读)。 我已经在示波器上检查了传输的消息,它匹配了它的ASCII表示形式。 例如,我发送的“ Q”为0101 0001,我收到的“ W”为01010111。示波器上的读数显示: 白蚁输出的信号与示波器上显示的相同。 我已经确认白蚁和代码中的波特率/奇偶校验/ HWcontrol匹配。 为了获得正确的字符,我尝试降低和提高波特率。 我尝试使用不同的字符集来尝试查找导致显示错误字符的模式。 另外,我尝试了其他终端,例如在Putty或Teraterm上。
9 stm32  uart  rs232 

2
SPI从设备可以以全双工模式启动传输吗?
据我所知,SPI从设备的SPI传输如下所示: 主机通过SS引脚选择一个从机 主从之间同时发送数据 主机同时启动时钟和数据传输(写操作之前没有时钟) 即使从站有更多数据要发送,主站也可以在其希望的任何时候停止传输(通过停止写操作和时钟生成)。 是否有任何SPI从设备配置,该配置允许从设备在未经主机许可的情况下传输数据? 我只是想大声一点。假设只有一个从站,而主站等提供了一个连续的时钟。 即使假定的陈述为真,由于没有SPI的起止位,主机和从机也不会丢失字节同步(即接收位流)吗? 我问这样的问题是因为我已经阅读了本文档的以下部分。 2.2 SPI示例 所附的SPI示例说明了USART在同步模式下的使用。USART1被配置为从设备,而USART2被配置为主设备。发生以下交易: 从主机到从机的数据传输。 从机到主机的数据传输。 从主机到从机以及从机到主机同时进行数据传输。 本文给出了SPI示例,但使用USART器件实现了示例。而且我知道USART从站可以在未经主站许可的情况下开始传输。 我找不到文档引用的源代码。

5
\ n \ r作为停止字节的故障安全性如何?
在我的UART通信中,我需要知道所发送消息的起始字节和终止字节。起始字节很容易,但终止字节不是很多。我在消息末尾实现了两个停止字节,即\ n和\ r(十进制的10和13)。UART仅适用于字节0-255的值,那么这有多安全?我可以想象,尽管可能性很小,但当它们不是停止字节时,我的消息可能会依次包含值“ 10和13”。 有没有更好的方法来实现这一目标?

1
UART发生意外的Atmega16响应
UART发生意外的Atmega16响应 问题摘要 我已经用代码刷新了Atmega16,这应该导致Atmega16通过终端发送回我发送给它的任何字符。我得到了答复,但是我发送的角色很少。通过更改波特率,我可以看到正确的输出,但是我不明白为什么正确的波特率有效。 更多详情 我正在尝试自己学习更多有关固件编程的信息,因为我很喜欢。到目前为止,在uni上进行的固件编程中,我们已经获得了框架代码文件,这些文件可以完成许多外围设备接口并为我们设置了文件,但是我想自己学习一下。在整个帖子中,我对我在这里所做的事情有一些疑问,但我将在最后逐条列出。如果您对我的知识有任何误解或潜在的空白,我将不胜感激您可能会提供的任何意见。 编码 我纷纷亮出到我Atmega16的代码“在AVR-GCC使用USART”取几乎行线从教程发现此页面上。我只添加了F_CPU的#define。原始代码没有针对F_CPU的#define,因此我的代码无法在AtmelStudio 7中进行编译。有人可以解释为什么作者未在原始文件中定义F_CPU吗?我猜他们可能正在使用Atmel Studio 7以外的其他工具或编译器,但我不能肯定地说。 #include <avr/io.h> #define F_CPU 7372800 //this was chosen because the tutorial states this is the frequency we want to operate at #define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((( F_CPU / 16) + ( USART_BAUDRATE / 2)) / ( USART_BAUDRATE )) - …

7
如何找到免费的UART线来发送数据
我有几个与Rs485通讯的板。他们有ATMega系列微控制器,例如atmega168p或atmega8。每个板卡都可以随时自由发送数据,而且我有一定的局限性,导致无法使用Modbus。板子的数量可以从5到10。 我的问题是:电路板如何找到UART线是否可以自由发送数据,并且如果它检测到总线繁忙,请等到总线空闲后再发送自己的数据? 是否有可以自动或手动更改它的特殊标志或寄存器,并让另一块板发现线路忙?
8 atmega  uart  rs485  bus 

2
清除STM32中的USART(UART)中断标志?
我正在使用STM32F105通过UART与Linx GPS芯片进行通信。 如果我不使用中断(如果我只是轮询RX标志),那么它将正常工作。但是当尝试使用中断时,我得到了意外的结果。 例如,如果仅使用启用RXNE(“ RX不为空”)中断USART_ITConfig(USARTx, USART_IT_RXNE),则该代码仅应针对该特定事件引导至ISR。但是,中断也会因溢出条件而触发。 至于清除标志,似乎方法取决于标志。为了清除溢出标志(USART_IT_ORE),用户手册说明我应该先读取USARTx_SR寄存器,然后再读取USARTx_DR寄存器。这确实有效;该标志被清除。 还有一个USART_ClearITPendingBit()功能,但是只接受一小部分标志。 有八个可以选择使能的中断源,以及十个不同的标志。 是否有关于如何管理所有这些标志的摘要?

2
如何创建安全的UART通信协议?
我想知道如何创建安全的UART / USB通信协议。我需要它来实现微控制器和PC之间的通信。我有大约10个命令,并认为我将为每个命令使用10个单独的确认命令。 交换应该像这样: PC通过UART发送唤醒命令 µC识别出PC已连接,并将其命令发送到PC,例如。 0x01 PC会执行要求的操作(一些硬件任务),并~0x01在完成后做出响应(我将数字取反以在两个数字之间创建更大的“距离”) µC知道它已发送0x01并且期望~0x01PC 发出请求。如果除了~0x01返回以外的内容,µC会知道出了点问题,并会发送新的请求或错误消息 µC发送的情况下,0x01PC可以理解0x02并发送~0x02回去,但是~0x01由于某些噪声而导致µC读取会非常糟糕。 就传输而言,这有多安全?或者我怎样才能使其更加安全?

5
是什么导致UART错误?
我想知道为什么会发生UART错误,以及何时应检查此类错误。这里有一篇帖子,询问如何处理单个错误,例如超限,奇偶校验等。我很清楚为什么会发生数据超限,为什么会发生奇偶校验错误,但是我想知道根本原因是什么。我的问题更集中于为什么会发生这些错误(物理原因),以及何时应将错误检查作为其应用的一个因素。 到目前为止,我的程序似乎运行良好(没有错误检查),但是我知道噪音可能会使事情变得混乱。如何模拟可能导致UART Rx / Tx端口出现故障的情况?

3
MISO / MOSI与TxD / RxD之间的区别
USART和SPI有什么区别?USART有[TXD / RXD],SPI有[MISO / MOSI / SCK / SS]。我知道SPI是同步协议,但USART是硬件。但是,USART的同步部分和硬件之间有什么区别?
8 spi  uart 

3
UART错误处理
由于大多数控制器的 UART 具有类似的体系结构,因此我不关注特定的MCU 。它们具有用于Tx和Rx的FIFO。 UART产生的最常见错误是:-1.帧错误2.奇偶校验错误3.溢出错误(Tx / Rx FIFO溢出)4.接收中断错误(某些具有停止位的错误) 如何处理这些错误条件以正确地保持通信? 我确实知道这是一个模糊的问题,但是大多数时候人们对这样的错误发生时应该做的事情感到困惑,最终只是清除错误位。
8 uart 

2
FTDI FT2232H(USB <-> UART)波特率?
是否有人使用过FTDI 的FT2232H芯片之一? 具体来说,您如何计算允许的波特率? 数据表有点模糊,我必须选择1-3 MBaud的范围,但需要知道我的选择是什么。
8 usb  uart  ftdi 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.