吴忠市建设网站,打开浏览器直接进入网站,网站建设 地址 昌乐,天津建设工程信息网网分享一下#xff0c;STM32开发板连接网络的第一种方法#xff1a;连接esp8266。
esp8266与STM32利用串口通信连接#xff0c;esp8266连接网络#xff0c;把收到的数据通过串口的方式传输给STM32#xff0c;之后STM32接收到消息做出对应的反应。
使用到的开发板如图…分享一下STM32开发板连接网络的第一种方法连接esp8266。
esp8266与STM32利用串口通信连接esp8266连接网络把收到的数据通过串口的方式传输给STM32之后STM32接收到消息做出对应的反应。
使用到的开发板如图esp-12和正点原子stm32f103zet6. 首先我们先掌握一下什么事串口通信
串口通信Serial Communications的概念非常简单串口按位bit发送和接收字节。与串行通信相对的是并行通信。数据传输一般都是以字节传输的一个字节8个位。拿一个并行通信举例来说也就是会有8根线每一根线代表一个位。一次传输就可以传一个字节而串口通信就是传数据只有一根线传输一次只能传一个位要传一个字节就需要传8次。
单片机的串口USART有接收和发送端RX 是指串口通信的数据接收TX是指串口通信的数据发送两个单片机可以利用串口进行数据传输。
我们可以利用esp8266和STM32的串口进行数据传输。
esp8266与STM32接线方式如下 esp6266STM32RXTXTXRXVCCVCCGNDGND 因为想要把STM32连接上网络所以esp8266这里我们先把它连上网络大家可以使用AT指令或者代码烧录的形式这里我使用的是代码将esp8266作为http server 接收数据。 #include ESP8266WiFi.h
const char* ssid 改成自己的;
const char* password 改成自己的;
//静态地址、网关、子网掩码
WiFiServer server(80);
IPAddress local_IP(192, 168, 1, 80);//固定IP地址避免IP变化影响通信
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
String ss ;
String httpResponse HTTP/1.0 200 OK\r\nConnection: close\r\nContent-Type: application/json;\r\n\r\n{\code\:1};
void setup() {Serial.begin(115200);WiFi.config(local_IP, gateway, subnet);//设置静态IPWiFi.mode(WIFI_STA);WiFi.begin(ssid, password);//路由器的WiFi名称和密码while (WiFi.status() ! WL_CONNECTED) {delay(500);Serial.print(.);}Serial.println(WiFi.localIP());server.begin();
}void loop() {WiFiClient incomingClient server.available();if (incomingClient) {if (incomingClient.find(\r\n\r\n)) {while (incomingClient.available()) {ss ss char(incomingClient.read());}}Serial.println(ss);incomingClient.print(httpResponse);ss ;}
}STM32端代码这里大家可以直接使用正点原子的串口代码注意两种单片机的波特率必须一致
代码工程点击下方链接下载
GitHub - qq-hh/qq-hh-My_Project_stm32
连接完成上传代码后测试 stm32开发板可以通过串口接收esp8266收到的网络数据。