一,概述
由于我们用开发发版开发esp01s时需要实时能看到esp01s的响应,并且需要通过发AT指令操控esp01s所以我们需要用到两个串口。一个连接esp01s,另一个用于传输我们的操控命令(AT指令)和回显esp01s的响应数据。(这里我用开发板stm32f10x系列的开发板的USART1和USART2)USART1用作操控和响应回显,USART2用作EPS01S通讯。
二,需要的工具
硬件方面:stm32f1系列开发板一个,usb转ttl模块一个,esp01s模块一个,给开发烧录程序的配套硬件,供电电源,
软件方面:串口调试助手(我用的是安信可串口调试助手)
下载链接:https://pan.baidu.com/s/1KnZIXarAWNnOq65grdvUDg 提取码:2004
三,连接和数据流向
四,程序源码
bsp_uart.h
#ifndef __BSP_UART_H__
#define __BSP_UART_H__
#include "stm32f10x.h"
/**
uart1 tx:PA9 RX:PA10
uart2 tx:PA2 RX:PA3
uart2连接wifi作为通讯端口
esp01s stm32f103vct6
3.3v 3.3v
tx PA3
rx PA2
gnd gnd
uart1作为调试端口
*/
/**
USARTx (x......1.2.3.4.5)
USART_BaudRate
USART_WordLength USART_WordLength_8b/USART_WordLength_9b
USART_StopBits USART_StopBits_1/USART_StopBits_0_5/USART_StopBits_2/USART_StopBits_1_5
USART_Parity USART_Parity_No/USART_Parity_Even/USART_Parity_Odd
USART_IT
* This parameter can be one of the following values:
* @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
* @arg USART_IT_LBD: LIN Break detection interrupt
* @arg USART_IT_TXE: Tansmit Data Register empty interrupt
* @arg USART_IT_TC: Transmission complete interrupt
* @arg USART_IT_RXNE: Receive Data register not empty interrupt
* @arg USART_IT_IDLE: Idle line detection interrupt
* @arg USART_IT_ORE: OverRun Error interrupt
* &#