0% found this document useful (0 votes)
54 views

Computer Interfacing

The document describes the UART interface for STM32 and ESP8266 communication. It explains the various UART registers for control, status, data, and baud rate. It provides an example of transmitting data from STM32 to ESP8266 at 115200 baud rate by writing to the data register and receiving on the ESP8266. It also gives an overview of the NodeMCU ESP8266 WiFi module and examples of AT commands for configuration.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Computer Interfacing

The document describes the UART interface for STM32 and ESP8266 communication. It explains the various UART registers for control, status, data, and baud rate. It provides an example of transmitting data from STM32 to ESP8266 at 115200 baud rate by writing to the data register and receiving on the ESP8266. It also gives an overview of the NodeMCU ESP8266 WiFi module and examples of AT commands for configuration.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

UART Interface

Data register( USARTx_DR)

Bits 31:9 Reserved, must be kept at reset value


Bits 8:0 DR[8:0]: Data value
UART Interface
Status register(USARTx_SR)

Bit 9 CTS: CTS flag


Bit 8 LBD: LIN break detection flag
Bit 7 TXE: Transmit data register empty( 0:Data is not transferred to the shift register; 1: Data is transferred to the shift register)
Bit 6 TC: Transmission complete(0: Transmission is not complete; 1: Transmission is complete)
Bit 5 RXNE: Read data register not empty(0: Data is not received; 1: Received data is ready to be read)
Bit 4 IDLE: IDLE line detected
Bit 3 ORE: Overrun error
Bit 2 NF: Noise detected flag
Bit 1 FE: Framing error
Bit 0 PE: Parity error
UART Interface
Baud rate register (USARTx_BRR)

Bits 31:16 Reserved, must be kept at reset value


Bits 15:4 DIV_Mantissa[11:0]: mantissa of USARTDIV. These 12 bits define the mantissa of the USART Divider (USARTDIV)
Bits 3:0 DIV_Fraction[3:0]: fraction of USARTDIV. These 4 bits define the fraction of the USART Divider (USARTDIV). When OVER8=1, the
DIV_Fraction3 bit is not considered and must be kept cleared.
UART Interface
Control Register( USARTx_CR1)

Bits 31:16 Reserved, must be kept at reset value


Bit 15 OVER8: Oversampling mode
Bit 14 Reserved, must be kept at reset value
Bit 13 UE: USART enable(0: USART prescaler and outputs disabled;1: USART enabled)
Bit 12 M: Word length( 0: 1 Start bit, 8 Data bits, n Stop bit; 1: 1 Start bit, 9 Data bits, n Stop bit)
Bit 11 WAKE: Wakeup method
Bit 10 PCE: Parity control enable(0: Parity control disabled; 1: Parity control enabled)
Bit 9 PS: Parity selection(0: Even parity; 1: Odd parity)
Bit 8 PEIE: PE interrupt enable
Bit 7 TXEIE: TXE interrupt enable
Bit 6 TCIE: Transmission complete interrupt enable
Bit 5 RXNEIE: RXNE interrupt enable
Bit 4 IDLEIE: IDLE interrupt enable
Bit 3 TE: Transmitter enable(0: Transmitter is disabled; 1: Transmitter is enabled)
Bit 2 RE: Receiver enable(.0: Receiver is disabled; 1: Receiver is enabled and begins searching for a start bit)
Bit 1 RWU: Receiver wakeup
Bit 0 SBK: Send break
UART Interface
BAUDRATE 115200
Tx “ABCD” Rx
STM32 Esp8266
Discovery kit Rx Tx NodeMCU

‘A’ Buffer[0]

‘B’ Buffer[1]
“ABCD”
‘C’ Buffer[2]

‘D’ Buffer[3]
UART Interface
BAUDRATE 115200
Tx ‘A’ Rx
STM32 Esp8266
Discovery kit Rx Tx NodeMCU

UART_BRR
(PCLK1=15Mhz)
USARTDIV=8.125
0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0

UART_CR1
0 1 0 x x x x x x x x 1 1 x x

UART_DR
X 1 0 0 0 0 0 0 1
NodeMCU ESP8266
- Developed from ESP-12E Wifi Module
- 802.11 b/g/n
- Wi-Fi 2.4 GHz, support WPA/WPA2
- Support STA/AP/STA+AP operation modes
-` SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO
- Configured by AT command
NodeMCU ESP8266
Tx “AT+ INSTRUCTION” Rx
STM32 Esp8266
Discovery kit Rx Tx NodeMCU
`

Example:
AT Tests AT startup.
AT+RST Restarts the module.
AT+UART_DEF Set the default UART configuration, saved in flash
AT+CWMODE_DEF= <mode> Set the current Wi-Fi mode of ESP8266.
AT+CWJAP_DEF=<ssid>,<pwd> Connect to an AP
AT+CWSAP_DEF=<ssid>,<pwd> Configure ESP8266 as a SoftAP
NodeMCU ESP8266
Tx Rx Tx Rx
Hardware Esp8266 Software STM32
PC
Rx Serial Tx NodeMCU Rx Serial Tx Discovery kit
`

- Hardware Serial is used to configure ESP8266 with help of ArduinoIDE


- Software Serial is used to transmit information about the door lock’s
status from STM32 to ESP8266

You might also like