STM32之串口UART转wife功能(二)

STM32F407 系列文章 -UART-To-Wife(二)

目录

前言

一、串口(UART)

二、参数设置

1.函数 rswife_init(uint32_t baudrate)

2.函数 atk_mw8266d_hw_init()

3.函数 atk_mw8266d_hw_reset()

4.函数 atk_mw8266d_uart_init(uint32_t baudrate)

二、建立通讯

1.函数 rswife_init(uint32_t baudrate)

总结


前言

要实现UART转Wife功能,需准备主要硬件模块,STM32F407开发板和ESP8266模块(淘宝上卖的很多)。

一、串口(UART)

我门常见UART串口有RS232、RS485、RS422、TTL等,它们的区别在于通信协议、电平标准不同,而我们选择的ESP8266模块所需要的串口类型刚好是TTL转Wife的,当然你的ESP8266模块也可以选择不一样的,只要在CPU芯片输出端加一个电平转换就行了。

CPU芯片输出的信号主要为TTL电平,这样我们就不需要转换直接连接到ESP8266模块上。

二、参数设置

1.函数 rswife_init(uint32_t baudrate)

主要完成8266硬件初始化、8266硬件复位和串口UART初始化功能代码如下(示例):

/**
 * @brief       wife串口初始化
 * @param       baudrate: TTL UART通讯波特率
 * @retval      无
 */
void rswife_init(uint32_t baudrate)
{
    atk_mw8266d_hw_init();                          /* ATK-MW8266D硬件初始化 */
    atk_mw8266d_hw_reset();                         /* ATK-MW8266D硬件复位 */
    atk_mw8266d_uart_init(baudrate);                /* ATK-MW8266D UART初始化 */
}

2.函数 atk_mw8266d_hw_init()

完成8266相关引脚时钟使能,引脚输出模式设置,以及其它设置等等,代码如下(示例):

/* 引脚定义 */
#define ATK_MW8266D_RST_GPIO_PORT           GPIOF
#define ATK_MW8266D_RST_GPIO_PIN            GPIO_PIN_6
#define ATK_MW8266D_RST_GPIO_CLK_ENABLE()   do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* PF口时钟使能 */

/**
 * @brief       ATK-MW8266D硬件初始化
 * @param       无
 * @retval      无
 */
void atk_mw8266d_hw_init(void)
{
    GPIO_InitTypeDef gpio_init_struct;
    
    ATK_MW8266D_RST_GPIO_CLK_ENABLE();
    
    gpio_init_struct.Pin = ATK_MW8266D_RST_GPIO_PIN;
    gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP;
    gpio_init_struct.Pull = GPIO_NOPULL;
    gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(ATK_MW8266D_RST_GPIO_PORT, &gpio_init_struct);
}

3.函数 atk_mw8266d_hw_reset()

完成8266硬件复位,实现硬件重启。对IO引脚先置低,在置高。代码如下(示例):

/* IO操作 */
#define ATK_MW8266D_RST(x)                  do{ x ?                                                                                     \
                                                HAL_GPIO_WritePin(ATK_MW8266D_RST_GPIO_PORT, ATK_MW8266D_RST_GPIO_PIN, GPIO_PIN_SET) :  \
                                                HAL_GPIO_WritePin(ATK_MW8266D_RST_GPIO_PORT, ATK_MW8266D_RST_GPIO_PIN, GPIO_PIN_RESET); \
                                            }while(0)

/**
 * @brief       ATK-MW8266D硬件复位 硬件重启
 * @param       无
 * @retval      无
 */
void atk_mw8266d_hw_reset(void)
{
    ATK_MW8266D_RST(0);
    delay_ms(100);
    ATK_MW8266D_RST(1);
    delay_ms(500);
}

4.函数 a

可将 RS232/RS485串口设备连接至wifi 可作为AP或者Station模式 支持TCP服务器、TCP客户端、UDP模式 通过网页配置参数 支持虚拟串口通信 ZLSN7100 概述 ZLSN7100是RS232/RS485串口wifi的电路模块,一端通过2针RS485连接RS485设备或者通过DB9连接RS232设备。另外一端即可连接到无线路由器或者作为AP让手机等wifi设备连接上。支持TCP Server、TCP Client、UDP等工作模式,支持各种常用的无线密码验证方式。支持使用ZLVircom软件管理、使用ZLVircom创建虚拟串口串口软件通信。ZLSN7100能够解决原有ZLSN5102产品某些不好布线情况的应用问题。 特点 通过内嵌Web服务器可配置其网络参数、串口参数、登录口令等。 Web服务器支持密码登录,以防止随意修改。 支持跨网关:能够将产品和任何Internet上有公网IP的主机连接。 支持300~460800波特率。 LINK引脚连接指示。 硬件流控CTS/RTS。 支持虚拟串口,原有串口软件无需更换。 规格 网络界面 wifi 802.11g/b 以太网 可扩展以太网口 串口界面 界面 RS232/RS485电平串口 串口数 1 校验位 None, Even, Odd, Space, Mark 数据位 5~8 停止位 1,2 流控 RTS/CTS,DTR/DCR,XON/XOFF 速率 300bps~460800bps 软件特性 协议 TCP,HTTP,UDP,ICMP,ARP,IP,DNS,DHCP 配置方式 Web浏览器 电器特性 电压输入 DC9~24V,小于100mA 机械特性 尺寸 长×宽=9.4cm×6.5cm 工作环境 工作温度,湿度 -45~85℃,5~95% RH 储存温度,湿度 -45~165℃,5~95% RH 上海卓岚信息科技有限公司 W
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值