一. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。
串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单、便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通 讯方式输出调试信息。
RS-232 标准主要规定了信号的用途,通讯接口以及信号的电平标准。
根据通讯使用的电平标准不同,串口通讯可分为 TTL标准和 RS-232标准
从表格中不难看出,两种标准划分的逻辑电压不同。在电子电路中常使用 TTL 的电平标准,理想状态下,使用 5V 表示二进制逻辑 1,使用 0V 表示逻辑 0;而为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V表示逻辑 1,+15V 表示逻辑 0
USB转串口即实现计算机USB接口到物理串口之间的转换。可以为没有串口的计算机或其他USB主机增加串口,使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。
CH340 是一个USB 总线的转接芯片,实现USB 转串口、USB 转IrDA 红外或者USB 转打印口。
在串口方式下,CH340 提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB 总线。有关USB 转打印口的说明请参考手册(二)CH340DS2。
在红外方式下,CH340 外加红外收发器即可构成USB 红外线适配器,实现SIR 红外线通讯。
特点:
● 全速USB 设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。
● 仿真标准串口,用于升级原串口外围设备,或者通过USB 增加额外串口。
● 计算机端Windows 操作系统下的串口应用程序完全兼容,无需修改。
● 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。
● 支持常用的MODEM 联络信号RTS、DTR、DCD、RI、DSR、CTS。
● 通过外加电平转换器件,提供RS232、RS485、RS422 等接口。
● 支持IrDA 规范SIR 红外线通讯,支持波特率2400bps 到115200bps。
● 由于是通过USB 转换的串口,所以只能做到应用层兼容,而无法绝对相同。
● 软件兼容CH341,可以直接使用CH341 的驱动程序。
● 提供SSOP-20 无铅封装,兼容RoHS。
二. 安装 stm32CubeMX,配合Keil,使用HAL库(或标准库)方式,设置USART1 波特率为115200,1位停止位,无校验位.
1)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
我们首先进行标准库中USART1的函数配置
以前做过
参考链接:http://t.csdnimg.cn/n8j3n
我们打开工程模板,在Hardware组里新建“Serial.c"和”Serial.h"两个文件
注意添加路径
然后写头文件内容
在”Serial.c"函数中写入以下
写入一个“Serial_Init”函数,用于配置基本的USART和GPIO
首先是打开APB使能时钟,
接下来配置GPIO口,打开GPIOA的PA9引脚,作为数据发送。模式设置为复用推挽输出模式
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
接下来是配置USART串口通信,我们选择USART1作为串口,同样建立结构体,设置波特率为9600,模式为仅发送,0校验位,1停止位,8数据位。编写如下:
USART_InitTypeDef USART_InitStruture;
USART_InitStruture.USART_BaudRate=