串口

找串口转USB驱动的辛酸经历

淺唱寂寞╮ 提交于 2020-01-14 20:13:25
  新买的电脑,居然没有串口。不得已,只有用USB转串口。电脑装的是64位WIN7。由于插上USB转串口线后,超级终端没有显示新的串口,所以我做了以下操作。   右键“我的电脑”->“管理”->“设备管理器”。 图1 当usb转串口线接上电脑usb口子的时候,“端口(COM和LPT)”处便显示“USB2.0 -Ser ”一个黄色感叹号,说明没有正确安装驱动。所以我需要到网上去下载合适的驱动。辛酸的经历开始了,找了一下午,没有找到合适的驱动,要么是适合XP的,要么是32位WIN7使用的,64位WIN7的没有找到。   由于我有另外一台32位的WIN7电脑,自动更新安装驱动便可以正常使用该usb转串口线了,于是,我在这台电脑上右键“USB2.0 -Ser”更新驱动程序软件,得到图2. 图2 点击自动更新,便可以看到图3. 图3 百度图3中的CH340,可知,它是 USB 总线的转接芯片,然后直接百度它的驱动,便终于得到可以使用的驱动了! (下载驱动 http://download.csdn.net/detail/daisy_sun/4884412 ) 来源: https://www.cnblogs.com/ben-ben/archive/2012/12/13/2817028.html

Prolific PL2303 usb 转串口Win8 Win8.1驱动

人盡茶涼 提交于 2020-01-14 20:12:05
买了根USB转RS232串口的线,Pl2303芯片的。卖家和官方都称不支持Win8,但鄙人不信在Win7上能用在Win8/8.1就用不起来。 官方最新版的v1.9.0的驱动描述说不支持Win 8/8.1,经尝试确实不支持。能识别硬件但无法启动(错误代码10,黄色感叹号)。 最新版不行,那就找老的吧。经尝试2009年的一个版本驱动可以完美支持Win8/8.1,当然是在我自己电脑上试的。 注: Win8/8.1比较讨厌,如果有多个版本的驱动会自动选择最新版的,可以在驱动更新里面手动选择老版本的驱动。 驱动CSND资源下载链接: http://download.csdn.net/detail/ropai/6945381 来源: https://www.cnblogs.com/zxj015/p/4123645.html

Ubuntu系统下USB转串口的使用

房东的猫 提交于 2020-01-14 20:09:56
PC系统是Ubuntu12.04,与路由器开发板之间用USB转串口线连接。 一、硬件连接 确认Ubuntu对USB转串口设备的支持。 1、# lsmod | grep usbserial 如果有usbserial,说明系统支持USB转串口。 zlf@zlf:~$ lsmod |grep usbserial usbserial 39125 3 ftdi_sio 2、插上USB转串口,在终端输入命令 # dmesg | grep ttyUSB0 ,如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。 zlf@zlf:~$ dmesg | grep tty [ 0.000000] console [tty0] enabled [ 1.854936] 0000:00:03.3: ttyS4 at I/O 0x1830 (irq = 17, base_baud = 115200) is a 16550A [ 920.550979] usb 6-1: FTDI USB Serial Device converter now attached to ttyUSB0 二、软件选用 这里使用minicom,一款linux系统下的串口通信软件,全键盘操作,用用就习惯了。 minicom的安装、配置可以参考这篇: ubuntu下的usb转串口的使用 。 来源: https://www

串口波形分析(TTL,RS232,RS485)波形分析

二次信任 提交于 2020-01-14 14:59:59
常见的USB转串口线分为USB-RS232和USB-RS485两种, 区别主要是逻辑电平是相反的 。 一、串行数据的格式 异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。 起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束, 对于正逻辑的TTL电平,线路总是1。对于负逻辑(如RS-232电平)则相反。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。 (先传第一个字节55,再传第二个字节aa,每个字节都是从低位向高位逐位传输) 图1 TTL电平的串行数据帧格式(55aah) 图2 RS-232电平的串行数据帧格式(55aah) 再如: 图3 1.该图是TTL电平同相位的逻辑 2.波特率设置时 38400 3.串口发送的是 0x55 4.串口设置为8N1 二、根据波形图计算波特率 如图4是图1在示波器中的显示示意,其中灰色线是示波器的时间分度线,此时假设是200us/格。 图4 波特率计算示意图 可以看了,第一个字节的10位(1位起始位,8位数据位和1位停止位)共占约1.05ms

STM32串口usart

为君一笑 提交于 2020-01-14 04:26:10
STM32 串口 UART串口通信协议是嵌入式开发的常用通信协议(UART、I2C、SPI等)之一,全称叫做通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。 异步串行通讯 异步通信是指发送和接收端使用的是各自的时钟,并且它是一种不连续的传输通信方式,一次通信只能传输一个字符数据(字符帧)。 异步串行同信帧 :将一个字节数据加上起始位、校验位以及停止位构成字符帧。由于异步通信没有同步时钟,所以接收端要时刻处于接收状态。 起始位 :在没有数据传送时(空闲状态),此时通信线上为逻辑“1”。当发送端要发送一个数据时,首先发送一个逻辑“0”,这个低电平就是帧格式的起始位。作用是告诉接收端要开始发送一帧数据。接收端检测到这个低电平之后,就准备接收数据信号。 数据位 :在起始位之后,发送端发出的就是数据位,数据位的位数没有严格限制(5-8位都可以)。低位在前,高位在后。由低位向高位逐位发送。 校验位 :数据位发送完成之后,可以发送以为用来校验数据在传送过程中是否出错。校验位是收发双方预先约定好的有限制差错检验的方式之一(可不用)。 停止位 :字符帧格式的最后部分是停止位,逻辑“1”有效,它的占位有1/2位、1位或者2位。停止位表示传送一帧信息的结束,也作为发送下一帧数据信息做准备。 异步串行通信特点:不需要同步时钟,通信实现简单

STM32串口之环形队列接收数据

梦想与她 提交于 2020-01-14 03:19:09
文章目录 废话说在前面 代码实现 环形队列数据结构 写一字节数据到队列 判断队列是否写满 读一字节的数据 判断队列是否为空 写多个字节到队列 从队列中读出多个字节 到STM32上测试 废话说在前面 码代码的应该学数据结构都学过队列。环形队列是队列的一种特殊形式,应用挺广泛的。 因为有太多文章关于这方面的内容,理论知识可以看别人的,下面写得挺好的: STM32进阶之串口环形缓冲区实现 代码实现 环形队列数据结构 typedef struct ringBuff { unsigned int in ; //写入的位置 unsigned int out ; //读出的位置 unsigned char buffer [ RING_BUFF_SIZE ] ; //数据域 } stRingBuff ; 写一字节数据到队列 /** - @brief: 寫一字節的數據到環形隊列 - @param[in]: None - @retval[out]: None - @note: - @author: AresXu - @version: v1.0.0 */ char WriteOneByteToRingBuffer ( stRingBuff * ringBuf , char data ) { if ( ringBuf == NULL ) { printf ( "pointer is null\r\n"

串口添加设备逻辑

倾然丶 夕夏残阳落幕 提交于 2020-01-14 02:17:28
引言  写了个添加串口设备的功能,特地写下这篇文,整理一下逻辑,记录一下。 描述  这边上位机通过串口与下位机相连(当然,连接方式不止串口,这边只谈串口)。  因为下位机可能有很多,所以一个上位机端口下并不是直接相连一个下位机的,而是端口连接集线器,集线器下再接很多下位机。  而软件实现上,主要通过下面这样一个界面,进行端口下设备的添加。由地址(address)、端口号(com)、设备类型(device type)决定一个设备。  软件上有两种方式添加设备,一是读取配置文件(.ini),二是通过上面界面手动添加设备。  添加逻辑的UML活动图, 目的  整理一下串口设备添加逻辑,后续如果需要改这部分的时候,看着活动图改,会方便很多。 来源: CSDN 作者: MelonSuika 链接: https://blog.csdn.net/BadAyase/article/details/103873338

ESP32学习笔记(一) 环境搭建与下载

依然范特西╮ 提交于 2020-01-13 21:05:19
ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 一.官方固件包的安装与配置. 首先,我们把ESP32模块连接上电脑,如果没有ESP32底板的话,则需连接一个usb转ttl模块,接下来我们下载好两个压缩包: Msys32为ESP32的 下载工具链和仿真环境, 可以从如下网址下载 https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20160816.zip esp32_idf为官方的固件包 可从git上同步 我们将msys32解压后放在c盘根目录,运行msys32 目录下的 msys2_shell.cmd 我们进入了一个类似命令行的页面,其实官方提供的这个下载和仿真工具其实是MSYS 因为之后的开发需要在Shell中执行一些linux下的命令 所以使用这样一个工具模拟一个 unix 的模拟环境。 注 : MSYS 是用于辅助 Windows 版 MinGW 进行命令行开发的配套软件包 接下来我们正式进入命令行操作: 1.创建文件夹,同步固件包(已经下载好固件包的可直接解压到c盘根目录,并跳过此步) 输入 mkdir esp32_idf

STM32之USART学习

烈酒焚心 提交于 2020-01-12 22:58:49
一、 串口的基本知识 串口的基本知识,可以参考如下文章: a. 串口基础知识文章1 b. 串口基础知识文章2 二、STM32配置USART 下面是配置USART过程的思维导图,如下: 下面是各个过程的具体实现过程,并带有注释。 (1)USART对应GPIO配置 具体代码如下: GPIO_InitTypeDef GPIO_InitStructure ; //定义GPIO结构体 /*开启时钟*/ RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOA , ENABLE ) ; //UART发送端PA9引脚初始化 GPIO_InitStructure . GPIO_Pin = GPIO_Pin_9 ; GPIO_InitStructure . GPIO_Mode = GPIO_Mode_AF_PP ; //设置为复用推挽输出 GPIO_InitStructure . GPIO_Speed = GPIO_Speed_50MHz ; GPIO_Init ( GPIOA , & GPIO_InitStructure ) ; //UART接收端PA10引脚初始化 GPIO_InitStructure . GPIO_Pin = GPIO_Pin_10 ; GPIO_InitStructure . GPIO_Mode = GPIO_Mode_IN_FLOATING

USB转串口与USB协议的区别

孤街醉人 提交于 2020-01-11 14:21:17
关于SV613模块常见的问题:模块能不能做USB协议模块 在正常的数据传输系统中(如图1),传输数据的端口都有固定的格式要求,首先USB有数据输入,经过电平转换进入mcu,注意数据仍是串口协议,非串口协议的数据SV613模块不能识别处理。 一.USB转串口电路通信的设备 通过USB转串口电路通信的双方要遵守串口的通信协议,而串口是按照位(bit)来发送和接收数据的,包括起始位,数据位,奇偶校验位,停止位;通信之前要设置比特率。在具体电路硬件上又有TTL、RS232、RS485等不同的标准,不同的标准逻辑电平是不同的。 二.通过USB接口进行通信的设备 在实际应用场景中,通过USB接口进行通信的双方要遵守USB协议。标准的USB链接线使用4芯电缆:5V电源线(Vbus)、差分数据线负(D-)、差分数据线正(D+)和地线(GND)。USB是一种支持在USB主机和USB设备之间进行串行数据传输的通信协议。主机作为总线的主叫方,采用两种信令模式:全速模式12Mb/s和低速模式1.5Mb/s。USB使用四种数据传输方式:控制传输、中断传输、批量传输及等时传输。 USB系统是由三个逻辑层组成:功能层、USB设备层和USB总线接口层。并且每一层都是由主机和USB设备不同的功能模块组成,如下图所示: 使用USB转串口的SV613与使用USB接口的设备在硬件电路上是不兼容的