使用STM32C8T6最小系統板+ESP8266兩者通過串口連接。使用單片機的UART1串口。
PA9 - USART1(Tx)
PA10 - USART1(Rx)
注意:ESP8266必須使用5V供電
為了使得STM32接收ESP8266的數據能看到,將接收到的數據通過UART2串口發送打印在電腦上。
PA2---USART2_TX
PA3---USART2_RX

初始化UART1、UART2



UART1接收函數

通過檢測關鍵字:比如 OK / >/ WIFI CONNECTED 來知道當前ESP是否正常工作;若有異常,則執行異常處理函數(沒有寫)
關鍵字檢測函數
![]()

將AT指令使用宏定義這樣方便操作,容易修改

ESP8266簡單初始化,發送AT指令,配置Station模式,使其連接wifi

通過檢測標志位“ok_flag”來執行發送下一行的AT指令,這樣可以減少對延時函數的依賴,有利于識別各種錯誤情況

ESP8266成功連接WIFI后,下面進行登錄oneNET服務器,上傳數據。
關鍵字:STM32 ESP8266
引用地址:
STM32結合ESP8266初始準備
推薦閱讀最新更新時間:2025-05-24 08:10
Atmega16微控制器連接ESP8266 NodeMCU實現發送電子郵件
Atmega16是一款低成本的8位微控制器,與之前版本的微控制器相比,其GPIO數量更多。它具有所有常用的通信協議,如UART、USART、SPI和I2C。由于其廣泛的社區支持和簡單性,它在機器人、汽車和自動化行業中具有廣泛的應用。 Atmega16不支持任何無線通信協議,如Wi-Fi和藍牙,這限制了其在某些領域內的應用領域,如物聯網。為了克服這種限制,可以連接支持無線協議的其他控制器。有許多控制器支持無線協議,如被廣泛使用的ESP8266等。 在本篇文章中,我們將Atmega16微控制器與ESP8266 NodeMCU進行連接,使其通過互聯網進行無線通信。 ESP8266 NodeMCU是廣泛使用的WiFi模塊,具
[單片機]
stc89c51+ esp8266-01發微信消息,POST例程
材料準備 STC89c51/52 一塊 ESP8266-01一塊 手機一塊 第一 下載STC89c51示例程序(keil 編程開發) 程序下載地址: cloud.bemfa點com/zip/stc89c51_wechat.zip 程序說明,波特率9600,晶振11.0592 由于ESP8266-01默認波特率是115200,需要先手動調節esp8266-01的波特率。 調整方法:ESP8266-01連接到usb轉ttl 五根線 esp8266---------UsbTTL tx----------rx rx----------tx vcc-------3.3v gnd--------gnd en----------3.3v 打開串
[單片機]
STM32學習筆記(九)DMA(Direct memory access controller)
直接存儲器讀取 DMA簡介 直接存儲器存取(DMA)用來提供在外設和存儲器之間或者存儲器和存儲器之間的高速數據傳輸。無須CPU干預,數據可以通過DMA快速地移動,這就節省了CPU的資源來做其他操作。 DMA框圖 由圖可見,DMA 一共有 DMA1 和 DMA2 兩個控制器。DMA1 有7個通道,DMA2 有5個通道。 在存儲器和存儲器之間傳輸數據時,可任選通道進行傳輸;但在外設和存儲器之間傳輸數據時,需要用到專用的通道。 各個通道的 DMA1 請求 各個通道的 DMA2 請求 DMA寄存器 中斷狀態寄存器 --- ISR(interrupt status register):存放DMA中斷的標志位; 注意:若為D
[單片機]
STM32開發入門
步驟 安裝環境 安裝Keil uVision5(mdk528a.exe) 通過Pack Installer安裝相應芯片的Pack 問題解答 問題:選中相應的Software Component缺還是顯示找不到頭文件 解答:修改RTEPATH路徑為英文路徑 STM32CubeMX與STM32CubeIDE的區別? CubeMX通過向導快速生成代碼,CubeIDE包含了CubeMX和IDE
[單片機]
STM32學習:I2C-EEPROM實驗
一、I2C總線介紹 I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的一種總線標準。 它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優點。 I2C總線只有兩根雙向信號線。一根是數據線SDA,另一根是時鐘線SCL。由于其管腳少,硬件實現簡單,可擴展性強等特點,因此被廣泛的使用在各大集成芯片內。 (一)I2C物理層 I2C通信設備常用的連接方式.png 特點: (1)它是一個支持多設備的總線。 (2)I2C 總線只使用兩條總線線路,SDA、SCL。 (3)每個連接到總線的設備都
[單片機]
GD32F103移植STM32的程序定時器開關
GD32F103移植STM32程序時,程序中有一段需要關閉定時器來保護變量不被修改,如下: TIM_Cmd( TIM4, DISABLE ); yen += coinBuf ; coinBuf =0; TIM_Cmd( TIM4, ENABLE ); 在STM32上運行沒有問題,但放到GD32上運行不了,定時器起不來。需要改成如下關閉中斷。 TIM_ITConfig(TIM4, TIM_IT_Update, DISABLE); yen += coinBuf ; coinBuf =0; TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);
[單片機]
用STM32實現MPU6050原始數據的讀取
最近項目組在做自主導航的小車,需要讀取底盤的姿態,所以準備往上面加mpu6050,于是整理了這樣的文檔供以后學習,程序是在正點原子的庫上更改的。 1.了解MPU6050 MPU-60x0 是全球首例 9 軸運動處理傳感器。它集成了 3 軸MEMS陀螺儀,3 軸MEMS加速度計,以及一個可擴展的數字運動處理器 DMP(Digital Motion Processor)。 MPU-60x0 對陀螺儀和加速度計分別用了三個 16 位的 ADC,將其測量的模擬量轉化為可輸出的數字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的,陀螺儀可測范圍為 ±250,±500,±1000,±2000°/秒(dps),加速度計可測范圍
[單片機]
STM32與GD32單片機
一、相同點 都是基于Arm Cortex-M3/M4內核的32位通用微控制器,廣泛應用于各種嵌入式系統和物聯網領域。 二、不同點 1.1 內核和主頻 GD32單片機采用的是二代的M3/M4內核;根據ARM公司的M3內核勘誤表,GD32使用的內核只有一個BUG。 STM32單片機主要采用的是一代的M3/M4內核;STM32使用的內核有多個BUG1。 所以GD32的內核更穩定和可靠! 高速外部時鐘(HSE)時,GD32的主頻最大可以達到108MHz,STM32的主頻最大只能達到72MHz; 高速內部時鐘(HSI)時,GD32的主頻最大可以達到108MHz,STM32的主頻最大只能達到64MHz2; 主頻越高,意味著單片機代碼運行的速度
[單片機]