• 大小: 14KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: 代码  

资源简介

正如所题,基于STM32的ESP8266 WIF程序开发,可以正常执行的代码

资源截图

代码片段和文件信息

#include “bsp_esp8266.h“
#include “common.h“
#include   
#include   
#include 
#include “bsp_SysTick.h“



static void                   ESP8266_GPIO_Config                 ( void );
static void                   ESP8266_USART_Config                ( void );
static void                   ESP8266_USART_NVIC_Configuration    ( void );



struct  STRUCT_USARTx_Fram strEsp8266_Fram_Record = { 0 };



/**
  * @brief  ESP8266初始化函数
  * @param  无
  * @retval 无
  */
void ESP8266_Init ( void )
{
ESP8266_GPIO_Config (); 

ESP8266_USART_Config (); 


macESP8266_RST_HIGH_LEVEL();

macESP8266_CH_DISABLE();


}


/**
  * @brief  初始化ESP8266用到的GPIO引脚
  * @param  无
  * @retval 无
  */
static void ESP8266_GPIO_Config ( void )
{
/*定义一个GPIO_InitTypeDef类型的结构体*/
GPIO_InitTypeDef GPIO_InitStructure;


/* 配置 CH_PD 引脚*/
macESP8266_CH_PD_APBxClock_FUN ( macESP8266_CH_PD_CLK ENABLE ); 
   
GPIO_InitStructure.GPIO_Pin = macESP8266_CH_PD_PIN;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
   
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 

GPIO_Init ( macESP8266_CH_PD_PORT & GPIO_InitStructure );  


/* 配置 RST 引脚*/
macESP8266_RST_APBxClock_FUN ( macESP8266_RST_CLK ENABLE ); 
   
GPIO_InitStructure.GPIO_Pin = macESP8266_RST_PIN;

GPIO_Init ( macESP8266_RST_PORT & GPIO_InitStructure );  


}


/**
  * @brief  初始化ESP8266用到的 USART
  * @param  无
  * @retval 无
  */
static void ESP8266_USART_Config ( void )
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;


/* config USART clock */
macESP8266_USART_APBxClock_FUN ( macESP8266_USART_CLK ENABLE );
macESP8266_USART_GPIO_APBxClock_FUN ( macESP8266_USART_GPIO_CLK ENABLE );

/* USART GPIO config */
/* Configure USART Tx as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin =  macESP8266_USART_TX_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(macESP8266_USART_TX_PORT &GPIO_InitStructure);  
  
/* Configure USART Rx as input floating */
GPIO_InitStructure.GPIO_Pin = macESP8266_USART_RX_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(macESP8266_USART_RX_PORT &GPIO_InitStructure);

/* USART1 mode config */
USART_InitStructure.USART_BaudRate = macESP8266_USART_BAUD_RATE;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No ;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(macESP8266_USARTx &USART_InitStructure);


/* 中断配置 */
USART_ITConfig ( macESP8266_USARTx USART_IT_RXNE ENABLE ); //使能串口接收中断 
USART_ITConfig ( macESP8266_USARTx USART_IT_IDLE ENABLE ); //使能串口总线空闲中断 

评论

共有 条评论