新手入门
- 积分
- 4
- 金钱
- 4
- 注册时间
- 2021-4-19
- 在线时间
- 0 小时
|
1金钱
stm32单片机烧录了8266初始化的AT指令,但是单独用USB转TTL接出来竟然没有接收,发送函数应该写错了。
ESP8266_Init();在main函数已经有这个了
#include <string.h>
#include <stdio.h>
char AT_CWMODE[]="AT+CWMODE=2";//设置为AP模式
char AT_CWSAP[]="\"ESP8266\",\"134134134\",1,4";//WIFI名字和密码以及加密方式和通道
char AT_RST[]="AT+RST"; //初始化模块
char AT_CIPMUX[]="AT+CIPMUX=1";//设置为多连接模式
char AT_CIPSERVER[]="AT+CIPSERVER=1,8080";//开启server模式,通道号为8080
char AT_CIPSTO[]="AT+CIPSTO=2880";//设置服务器超时时间为2880s
char AT_CIFSR[]="AT+CIFSR";//获取本地IP地址
char AT_CIPSEND[]="AT+CIPSEND=0,20";//发送给0号用户,20个字节
void AT_SEND(char *str)
{
Usart_SendString( USART1,str);
Usart_SendByte( USART1, '\r');
Usart_SendByte( USART1, '\n');
}
void ESP8266_Init()//ESP8266初始化函数
{
AT_SEND(AT_CWMODE);
delay_ms(300);
/*AT_SEND(AT_CWSAP);
delay_ms(300);
AT_SEND(AT_RST);
delay_ms(500);*/
AT_SEND(AT_CIPMUX);
delay_ms(300);
AT_SEND(AT_CIPSERVER);
delay_ms(300);
/*AT_SEND(AT_CIPSTO);
delay_ms(300);
AT_SEND(AT_CIFSR);
delay_ms(300);*/
}
void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)//发送一个字符
{
USART_SendData(pUSARTx,ch);
while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
}
void Usart_SendString( USART_TypeDef * pUSARTx, char *str)//发送字符串
{
unsigned int k=0;
do {
Usart_SendByte( pUSARTx, *(str + k) );
k++;
}
while (*(str + k)!='\0');
while (USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET) {}
}
|
|